[英]SQL query not selecting two tables?
我是 SQL 的新手,我想弄清楚並喜歡它。 我嘗試 select 兩個表,但我無法弄清楚為什么 output 不如預期。
UITV_CODE 是數字,現在我看到與 VAKGROEP 完全相同的 output,UITV_CODE 的 output 應該不同。 我懷疑選擇兩個表時出了點問題。 有人有什么想法嗎?
SELECT
UITVOERDERS.UITV_CODE,
UITVOERDERS.VAKGROEP,
UITV_CONTRACTS.CONTRACTNR,
UITV_CONTRACTS.DAT_STOP
FROM
UITVOERDERS,
UITV_CONTRACTS
WHERE VAKGROEP LIKE 'S%' AND DAT_STOP IS null
ORDER BY UITV_CODE
使用 30 個 UITVOERDERS 和 20 個 UITV_CONTRACTS 可以組合所有內容,30 x 20 = 600 條記錄,並僅返回具有 WHERE 條件的記錄。 因此,如果有 25 個帶有 UITVOERDERS.VAKGROEP 的以“S”開頭的 UITV_CONTRACTS 和 4 個帶有 DAT_STOP IS null 的 UITV_CONTRACTS,則顯示 25 x 4 = 100 條記錄。
對於尚未停止的運行合同,我希望:
SELECT
U.UITV_CODE,
U.VAKGROEP,
C.CONTRACTNR,
C.DAT_STOP
FROM
UITVOERDERS U,
UITV_CONTRACTS C
WHERE C.UITV_CODE = U.UITV_CODE
AND U.VAKGROEP LIKE 'S%' AND C.DAT_STOP IS null
ORDER BY U.UITV_CODE
可以寫成
SELECT
U.UITV_CODE,
U.VAKGROEP,
C.CONTRACTNR,
C.DAT_STOP
FROM
UITVOERDERS U
LEFT JOIN UITV_CONTRACTS C ON C.UITV_CODE = U.UITV_CODE
WHERE U.VAKGROEP LIKE 'S%' AND C.DAT_STOP IS null
ORDER BY U.UITV_CODE
如果合同鏈接到 uitvoerder。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.