有兩個問題。SQL查詢幫助 - 加入第二個表,可能嗎?
一:如何將兩個表連接在一起,這不是原來的'x'表?
示例:抓取所有報告和用戶級別名稱。
Report
id | user_id
1 1
User
id | level_id
1 1
Level
id | level_name
1 Admin
SELECT report.id,
report.user_id,
level.name
FROM report
INNER JOIN user
ON report.user_id=user.id
INNER JOIN level
ON user.level_id=level.id
似乎沒有工作。
二:如何連接表格不是來自1-1而是1-many?
說我想:
SELECT * FROM user JOIN report ON user.id=report.user_id WHERE user.id='4'
但只有按日期倒序排列的最新報告加入?
我知道它好像是我要求你爲我完成我的工作,但我只需要知道如何使用它來完成這個工作,而不一定是你編碼它。謝謝。
UPDATE:
第一個問題:固定式,感謝 第二個問題:
我會告訴你我的查詢,以更好的感覺,我沒有解釋得很好。我的意思是一個多種多樣的關係,我可以從中獲取用戶列表和他們的最新報告!
SELECT
user.id
FROM
user
<< INNER JOINS ON OTHER TABLES >>
INNER JOIN
(
SELECT
report.id
FROM
report
WHERE user.id=report.user_id
ORDER BY
date
DESC
LIMIT 1
)
爲什麼沒有你查詢的工作?它看起來不錯。什麼是錯誤信息? – Jacob
你的第一個問題的查詢結果如何?該查詢看起來對我來說應該是有效的。對於你的其他問題,如果你有一對多的關係,並且你只想讓多方面的某一行顯示出來,那麼你需要應用一個過濾器。在你的例子中,你可能需要加入一個子查詢,而不是直接加入表中。 –
是的,當我在這裏重寫時(不是直接複製和粘貼),我錯誤地使用了列名,爲了簡單起見,我重新編寫了列名。第一個作品!第二個我努力與嵌套選擇 – user781439