我試圖計算表中的行。目前即時通訊使用此:SQL Union只計算一個查詢
$sql = "SELECT COUNT(*)
FROM `friends`
WHERE `user1`='".$user1."'
AND `user2`='".$user2."'
AND `valid`=0
UNION
SELECT COUNT(*)
FROM `friends`
WHERE `user1`='".$user2."'
AND `user2`='".$user1."'
AND `valid`=0";
正如你看到的,user1
既可以是$user1
和$user2
。但它不會計算UNION
之後的行,它只會在UNION
之前執行第一個查詢,所以即時結束時爲0,當我實際上應該計數1行時。
我該如何解決這個問題?
這個修好了!謝謝! :) – Kaizokupuffball 2012-07-11 17:26:37
這取決於如果兩個查詢都返回一條記錄,OP是否需要'1'或'2'。如果前者,你的解決方案是理想的。如果是後者,不是那麼多 – Basic 2012-07-11 17:27:16
@Basic它與您提供的解決方案相同... – Chandu 2012-07-11 17:31:05