SQL中有一種標準方法來連接加入到一個表中的多個行,同時還獲得0? 這是一個例子:SQL - 左外部連接的替代方法
SELECT t1.id, COUNT(t2.*)
FROM t1 LEFT OUTER JOIN t2 ON (t1.id = t2.id)
GROUP BY t1.id
我需要一個選擇,因爲我使用ODBC與不同的數據庫,並在某些數據庫連接中不支持的左側。
SQL中有一種標準方法來連接加入到一個表中的多個行,同時還獲得0? 這是一個例子:SQL - 左外部連接的替代方法
SELECT t1.id, COUNT(t2.*)
FROM t1 LEFT OUTER JOIN t2 ON (t1.id = t2.id)
GROUP BY t1.id
我需要一個選擇,因爲我使用ODBC與不同的數據庫,並在某些數據庫連接中不支持的左側。
兩個選項: 選項1:使用(+)操作符:
SELECT t1.id, COUNT(t2.*)
FROM t1, t2
WHERE t2.id(+) = t1.id
GROUP BY t1.id
我不;知道它是否適用於所有的驅動程序。與所有驅動程序配合使用的選項2是創建視圖並創建視圖。
它僅適用於oracle – pava91
可能是'SELECT t1.id,(select COUNT(t2。*)where t2.id = t1.id)as t2_count FROM t1'? – ThinkJet
@ThinkJet你應該將它作爲回答 –
@ t-clausen.dk好的,完成。但對於正常答案來說太短:) – ThinkJet