【发布时间】:2019-06-14 15:02:49
【问题描述】:
数据库:SQLSERVER 我有这张桌子:
id-description-code
1 -fdsdfsf -A
2 -ghggh -A
3 -tytytyty -B
4 -hjhjydx -A
我需要一个查询“过滤一个 id”(例如“2”)返回我通过“代码”关联的同一张表的所有记录
查找 id=2 结果应该是:
1 -fdsdfsf -A
2 -ghggh -A
4 -hjhjydx -A
我写了这两个有效的查询:
SELECT * FROM TABLE S2 INNER JOIN
(select * from TABLE
WHERE ID=2) S1
ON S1.CODE=S2.CODE
SELECT * FROM TABLE S2
WHERE S2.CODE IN (SELECT CODE FROM TABLE S1 WHERE ID =2)
您能否给我其他查询示例(使用不同的运算符,例如 CROSS APPLY、EXIST 或其他)以获得相同的结果
【问题讨论】:
-
你的例子有什么问题?您使用
CROSS APPLY、EXIST和“其他”做了哪些尝试;为什么他们不工作?
标签: sql-server tsql exists cross-apply