簡體   English   中英

來自3個表的JOIN行WHERE tableA.column1 = tableB.column1 = tableC.column1

[英]JOIN rows from 3 tables WHERE tableA.column1 = tableB.column1 = tableC.column1

我有3個表,結構如下:

TABLE A:
ID | PCID | ACTIVE | COHORT | WEEKLY_MEETING_TIME | FYE_ID | RC | AGREEMENT_SIGNED | RELEASE_SIGNED | NOTES | FACULTY_ADVISOR 

TABLE B:
ID | QUARTER | OFFICE | WRITING_CENTER | etc.. | etc.. | etc.. |

TABLE C:
ID | QUARTER | WEEK | EMAIL | etc.. | etc.. | etc.. |

所有3個表之間的共同元素是ID字段。

我需要從所有3個表中進行SELECT ,並讓每行代表一個ID以及與該ID相關聯的所有值。

因此,例如,每個輸出行應該看起來像三個表的組合:

RESULTS:
ID | PCID | ACTIVE | COHORT | WEEKLY_MEETING_TIME | FYE_ID | RC | AGREEMENT_SIGNED | RELEASE_SIGNED | NOTES | FACULTY_ADVISOR | QUARTER | OFFICE | WRITING_CENTER | etc.. | etc.. | etc.. | WEEK | EMAIL | etc.. | etc.. | etc.. |

我不知道如何構建這樣的查詢。 我懷疑它涉及使用JOIN但我的嘗試證明是徒勞的。

如何根據共享ID字段組合3個表中的數據?

SELECT * FROM TABLEA
INNER JOIN TABLEB ON TABLEA.ID = TABLEB.ID
INNER JOIN TABLEC ON TABLEA.ID = TABLEC.ID

如果您不需要所有值,請將“*”替換為您需要的字段名稱(例如TABLEA.ID,TABLEB.QUARTER,TABLEC.WEEK ...)

NATURAL JOIN適用於MySQL:

select * from A natural join B natural join C.

嘗試這個 :

SELECT / WHAT YOU NEED TO SELECT - NOT * !!!/
FROM TABLEA
INNER JOIN TABLEB USING (ID)
INNER JOIN TABLEC  USING (ID)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM