我需要在一個報告中如何編寫SQL查詢以從多個表中獲取數據?
不同表中的下一個數據,我需要從passport.table
選擇從consultant.tablefirst_name
& last_name
& email
& phone
所有顧問信息
我在用戶表中有passport_id
Number of consultant
和他level
從查詢consultant.table
我需要在一個報告中如何編寫SQL查詢以從多個表中獲取數據?
不同表中的下一個數據,我需要從passport.table
選擇從consultant.tablefirst_name
& last_name
& email
& phone
所有顧問信息
我在用戶表中有passport_id
Number of consultant
和他level
從查詢consultant.table
嘗試的主表做一個內部或左加入。事情是這樣的:
SELECT a.first_name, a.last_name, a.email, a.phone, b.* from passport a
LEFT JOIN user b
ON a.id=b.passport_id
我無法從你的截圖中看到哪些字段名稱是顧問和Level因此b.*
皮卡所有從該表(我假設它是該表上的?)領域。無論如何,您可以輕鬆地自定義此查詢。
和諮詢顧問主要我需要有關顧問的數據 – Imediasun
只需添加如下所示的另一個LEFT JOIN: SELECT a.first_name,a.last_name,a.email,a.phone,b。*,c。*從護照a LEFT JOIN用戶b ON a.id = b.passport_id LEFT JOIN顧問c ON a.id = c.customer_id - >其中consultant_id是與護照ID相關的外鍵。然而,這是不確定的,因爲你沒有發佈你的顧問表的截圖,所以你必須自己修改它。 如果您需要將數據輸出爲「嚴格」或沒有空值,則可以使用INNER而不是LEFT。 – Arkhaine
在這種情況下,我的錯誤是什麼http://prntscr.com/gws8ma – Imediasun
使用此SQL查詢來獲取你的結果:
SELECT a.first_name,
a.last_name,
a.email,
a.phone,
b.level,
b.user_id
from passport a
INNER JOIN user c
ON a.id=c.passport_id
INNER JOIN consultant b
ON b.user_id=c.id
你嘗試過什麼了嗎? – Mureinik
我使用mysql表格 – Imediasun
請在格式化文本(不是圖像)中共享示例數據和所需輸出。請閱讀[詢問SQL問題](https://meta.stackoverflow.com/questions/271055/tips-for-asking-a-good-structured-query-language-sql-question/271056) – zarruq