[SQL ] MySQL UNION 資源重複使用問題
Hi,有個 MySQL 問題想請教大家
SQL 語法如下:
SELECT cid, uid FROM test WHERE status <> 0
UNION SELECT t2.cid t1.uid FROM test t1 JOIN test t2 ON (t1.cid = t2.uid)
WHERE a2.status NOT IN (0, 1)
UNION SELECT t3.cid t2.uid FROM test t1 JOIN test t2 ON (t1.cid = t2.uid)
JOIN test t3 ON (t2.cid = t3.uid)
WHERE a2.status NOT IN (0, 1) AND a3.status NOT IN (0, 1, 2)
...do 7!
問題在於
下一個交集結果的條件依賴著上一次交集的結果,卻還要重複 JOIN
ex :
一次
SELECT t2.cid t1.uid FROM test t1 JOIN test t2 ON (t1.cid = t2.uid)
二次
SELECT t2.cid t1.uid FROM test t1 JOIN test t2 ON (t1.cid = t2.uid)
JOIN test t3 ....
n 次
SELECT t2.cid t1.uid FROM test t1 JOIN test t2 ON (t1.cid = t2.uid)
JOIN test t3 ....JOIN test n!
要怎麼把上次的結果拿來下次使用,不用再重複 query & join
thx
--
http://blog.2be.com.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.141.13