【发布时间】:2012-07-07 18:16:07
【问题描述】:
我有我的主表 T1,我正在从中选择许多字段:
ID
1000
我有桌子 T2:
ID SERVICE
1000 IPTV
1000 VOIP
我有桌子 T3:
ID DEVICE
1000 MODEM
1000 ROUTER
1000 DVC
我想将 T1 与 T2 或 T3 一起加入,它们可以但也可能根本没有值!!!! 当它们具有我希望在 SELECT 中具有来自 T2 或 T3 的最大记录数的记录数时。所以在这种情况下,T3 有 3 条记录,这是最大的,我想要 SELECT 中的 3 条记录。 (如果 T2 有 3 条记录,如果 T3 有 2 条记录,则为最大值)
但在我的 SELECT 语句中,我有 5 条我不想要的记录。正确的表达方式是什么?我下面的查询返回 5 条记录(我想要 3 条)
select t1.id,t2.service,t3.device
from t1
left outer join T2 on t1.id=t2.id
left outer join T3 on t1.id=t3.id
【问题讨论】:
-
你确定这是你想要的吗?我觉得不合适
-
嗯,是的。我想要结果 1000 IPTV MODEM 1000 VOIP ROUTER 1000 NULL DVC
-
可以指定数据库和版本吗?
-
不,没有!!!我有客户想要查看一些记录受影响的服务和设备。它们之间没有连接!所以他不想看到 5 条记录,对他来说,在我的示例中将所有信息放在 3 条记录中就足够了。现在听起来还好吗?问候
-
您的查询将返回 6 行,而不是 5 行。