我在两个表之间写了一个Left连接。我的表结构是
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
实际上,Deal详细信息中的总行数为100,但即使在写入where子句后,它也会返回100行。
我的表结构是
DLNOPK | STARTDT
DLNO | CUSTOMERID
where子句有什么问题?
答案 0 :(得分:0)
您需要使用right join
或DEALCUSTOMERDETAILS left join DEALDETAILS
因为你的where条件绑定到DEALCUSTOMERDETAILS
表。
SELECT D.DLNOPK, D.STARTDT
FROM DEALCUSTOMERDETAILS P
LEFT JOIN
DEALDETAILS D
ON P.DLNO = D.DLNOPK
WHERE P.CUSTOMERID = 'ABCD';
ELSE
SELECT D.DLNOPK, D.STARTDT
FROM DEALDETAILS D
RIGHT JOIN
DEALCUSTOMERDETAILS P
ON P.DLNO = D.DLNOPK
WHERE P.CUSTOMERID = 'ABCD';
答案 1 :(得分:0)
这里是您询问的总查询^^
SELECT D.DLNOPK, D.STARTDT
FROM DEALDETAILS D
LEFT JOIN DEALCUSTOMERDETAILS P
ON D.DLNOPK = P.DLNO
WHERE P.CUSTOMERID = 'ABCD';
&#13;
答案 2 :(得分:0)
使用此查询对我来说效果很好
SELECT D.DLNOPK, D.STARTDT
FROM DEALDETAILS D
LEFT JOIN DEALCUSTOMERDETAILS P
ON P.DLNO = D.DLNOPK
WHERE P.CUSTOMERID = 'ABCD';
请参阅this fiddle