SQL 2008:我试图从两个表(TODO (T)和TODO_OPERATOR(Z))中获取数据(即合并),这两个表具有相同的字段,但数据不同,然后对合并的数据使用两个内部联接。不知道该怎么做。例如,提供的@id参数为001。您是否先在select中合并T表和Z表,然后进行内部连接?
SELECT
T.*, Z.*, TT.lookup_desc todo_type_desc, TS.lookup_desc status_desc
FROM TODO T
CROSS JOIN TODO_OPERATOR Z
INNER JOIN LOOKUP TT ON T.todo_type=TT.lookup_id, Z.todo_type=TT.lookup_id
INNER JOIN LOOKUP TS ON t.status=TS.lookup_id, z.status=TS.lookup_id
WHERE id=@id简化的表字段将是:
TODO和TODO_OPERATOR:
id,状态,todo_type
查找:
lookup_id,lookup_desc
谢谢
发布于 2015-05-13 15:46:33
选择
A.*
、TT.lookup_desc todo_type_desc
、TS.lookup_desc status_desc
从…
(选择id,status,todo_type from TODO所有选择id,status,todo_type从TODO_OPERATOR)
A.todo_type=TT.lookup_id上的内连接查找TT
A.status=TS.lookup_id上的内连接查找TS
其中id=@id
发布于 2015-05-13 11:28:47
SELECT
T.*, Z.*, TT.lookup_desc todo_type_desc, TS.lookup_desc status_desc
FROM TODO T
INNER JOIN TODO_OPERATOR Z
ON Z.todo_type = T.todo_type
AND z.status = T.status
INNER JOIN LOOKUP TT ON T.todo_type=TT.lookup_id
INNER JOIN LOOKUP TS ON T.status=TS.lookup_id
WHERE id=@id 我不确定这是否对你有帮助,你提供的信息有点少。
https://stackoverflow.com/questions/30213177
复制相似问题