【发布时间】:2014-04-24 19:45:57
【问题描述】:
我有两张桌子。
表 A 包含用户 ID、用户名
表 B 包含 ID、FK_UserID、ClientName
我需要返回不同 A.UserName 的列表,其中 A.Username 存在于表 B 中,并且至少附加了一个 ClientName,但在我的查询中,只查看不同的 B.ClientName。
我的想法是:
Select Distinct A.UserName from A as A
Inner Join B as B
on A.UserID = B.FK_UserID
但这仅在表 A 上有所不同
我的下一个想法是:
Select Distinct Username from A
where UserID In
(
Select FK_UserID, distinct ClientName from B)
有人告诉我,有一种方法可以对连接中的两个表执行不同的操作,因为如果表 A 是 300 行,表 B 是 30 亿行,那么我的原始查询将需要一段时间。
这个人特别希望我使用内部连接...
【问题讨论】:
-
“在我的查询中,仅查看 distict B.ClientName”是什么意思?您没有在结果中返回 ClientName 是吗?在这种情况下,这意味着什么?