[英]Foreign key join on 3 tables
我有一個表TableA,它包含表TableB和TableC的2個不同的外鍵。 我試圖從表TableB獲取數據,但取決於表TableC中的值。
有了這個查詢,我得到了所有的值,但我不知道如何編寫where子句來過濾和獲取我需要的數據。
SELECT TableC.value1,TableB.value2
FROM TableA
JOIN TableB ON TableB.ID = TableA.ID
JOIN TableC ON TableC.ID = TableA.ID
編輯:我的表的圖片。
所以我試圖顯示表B中的數據,但只顯示表C中匹配的數據。
新編輯:
我從2個表中獲取值,但現在我只需要顯示等於“val2”的列A值。 B列的值為“val2”,“val2”,“val3”等的圖像。 我只需要顯示“val2”。
我不確定我的問題是否正確,但是不應該做以下工作嗎?
SELECT TableC.value1,TableB.value2
FROM TableA
JOIN TableB ON TableB.ID = TableA.ID
JOIN TableC ON TableC.ID = TableA.ID
WHERE TableC.myColumn = MyValue
您不必使用WHERE
子句。 你需要的是解決您的JOIN
,使之JOIN
的tablec
與條件TableA.TableC_ID = TableC.ID
代替,就像這樣:
SELECT TableC.value1,TableB.value2
FROM TableA
JOIN TableB ON TableB.ID = TableA.ID
JOIN TableC ON TableA.TableC_ID = TableC.ID
WHERE tableA.ColumnA = 'val2';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.