我想加入4个Tables。一个是主表,并将其他3个表与此主表连接。请参见如下数据:
预期产出。
这是我开发的查询,它总是返回0行。
select COALESCE(TableB.Date, TableC.Date, TableD.Date),
COALESCE(count(key1),0),
COALESCE(count(key2),0),
COALESCE(count(key3),0)
FROM TableA A JOIN TableB B on A.Date = B.Date
JOIN TableC C on A.Date = C.Date
JOIN TableD D on A.Date = D.Date
Group by COALESCE(TableB.Date, TableC.Date, TableD.Date);
当我用tablea对每个表(见下面的查询)运行单独的查询时,它返回数据,但是当我加入所有3个表时,它不会返回任何数据。
select TableB.Date, count(key1)
FROM TableA A JOIN TableB B on A.Date = B.Date
Group by TableB.Date;
我不确定出了什么问题,有人能帮助我理解join查询中的问题在哪里。
谢谢,巴布
3条答案
按热度按时间nkoocmlb1#
你可以试试这个-
我使用左连接而不是内连接,因为我们需要表a中的所有数据。第一列也应该来自表a,即驱动程序表。
cygmwpex2#
在子查询中进行连接,然后进行分组,例如。,
实际上,不需要在内部连接中合并连接键。
wtlkbnrh3#
我想你在寻找完全的外部连接。下面是示例代码