在SQL中有一种标准方法可以将多个行连接到一个表,同时也是0? 这是一个例子:
SELECT t1.id, COUNT(t2.*)
FROM t1 LEFT OUTER JOIN t2 ON ( t1.id = t2.id )
GROUP BY t1.id
我需要一个替代方案,因为我将odbc用于不同的数据库,而在某些数据库中则不支持左连接。
答案 0 :(得分:6)
SELECT
t1.id,
(SELECT COUNT(*) FROM t2 WHERE t2.id = t1.id) as t2_count
FROM t1
答案 1 :(得分:0)
两个选项: 选项1:使用(+)运算符:
SELECT t1.id, COUNT(t2.*)
FROM t1, t2
WHERE t2.id(+) = t1.id
GROUP BY t1.id
我不知道它是否适用于所有司机。适用于所有驱动程序的选项2是创建视图并改为创建视图。