以下是我的情况..我必须获取给定quoteId的所有相关案例,这需要连接3个表,我能够为此提出查询。下面是示例:为简洁起见,我省略了一些表名,仅使用了别名。
SELECT distinct caseTable.CASEID, quoteHdrTable.Case_UID FROM
caseTable INNER JOIN quoteHdrTable ON
quoteHdrTable.Case_UID = caseTable.Case_UID WHERE quoteHdrTable.QUOTE_ID = '12345'.
现在,对于每个返回的CASE_UID,我还需要从另一个表中显示其状态。结构如下。
STATUS_TABLE
CASE_UID STATUS
------------ -----------
123 Good
234 Bad.
345 {null}
最后我想要一个像
这样的结果result
case_ID case_UID status
001 123 Good
我们可以使用子查询使用第一个结果(case_UID)来执行第二个SQL。请提供指针或示例SQL语句。
FYI ..使用DB2数据库
由于 和Sandeep
答案 0 :(得分:0)
SELECT distinct c.CASEID, q.Case_UID, s.status
FROM caseTable c
INNER JOIN quoteHdrTable q ON q.Case_UID = c.Case_UID
LEFT JOIN StatusTable s ON s.CASE_UID = q.CASE_UID
WHERE quoteHdrTable.QUOTE_ID = '12345'
为什么不添加另一个JOIN
?
答案 1 :(得分:0)
SELECT distinct
caseTable.CASEID,
quoteHdrTable.Case_UID,
status.STATUS
FROM caseTable
INNER JOIN quoteHdrTable
ON quoteHdrTable.Case_UID = caseTable.Case_UID
INNER JOIN STATUS_TABLE status
ON quoteHdrTable.Case_UID = status.Case_UID
WHERE quoteHdrTable.QUOTE_ID = '12345'