将3个表中的结果连接到包含2个表的现有查询

时间:2013-10-22 20:42:41

标签: sql

希望有人能告诉我如何完成我的SQL。我将首先向您展示我现有的查询:

Select a.ID, a.NAME,
  CASE When b.SOURCE = Value1 then 'Rename1'
   When b.SOURCE = Value2 then 'Rename2'
   When b.SOURCE = etc. ....
END,
b.TARGET, b.COMPARE
FROM Table'a', Table'b'
WHERE b.SOURCE in(Value1, Value2, Value...etc)
AND (a.ID = b.ID_1 or a.ID = b.ID_2)

现在我的问题是我的客户想要查找3个不同的表(每个表包含主键= a.ID)并仅从上面的Case语句中引用的列值返回值。 我想我需要做一个加入,但不知道如何去做。有什么建议吗?

谢谢! Puckhog

2 个答案:

答案 0 :(得分:0)

以下是示例查询:

Select T1.column,T2.Column,T3.Column
From Table1 T1  
Join Table2 T2 
on T1.MatchingColumn=T2.MatchingColumn
Join Table3 T3
on T2.MatchingColumn=T3.MatchingColumn

答案 1 :(得分:0)

你可以这样做吗?

SELECT 
    a.ID, a.NAME, c.SOMETHING
FROM
    a
JOIN
   b 
ON a.ID = b.ID
JOIN 
   c
ON a.ID = c.ID
   WHERE [conditions]