[英]Joining two tables together in one database
嘿伙計們,我有一個問題是如何從一個表中獲取信息,然后使用該信息,例如名稱,然后查詢數據庫以告訴我表 2 中的值。
所以簡而言之,我有一個朋友系統正在運行,但我無法為該用戶獲取圖片,因為它在另一個表中。 我能得到他的名字,但我不能得到他的照片。 那么你如何得到他在表 1 中的照片並且名稱在表 2 中。
table 1
name Users
id username password Email picture theme
1 bob dabsd2323ty hjas@hsdf uploads/adsda.png themes/theme1.png
2 fred dabsd2323ty hjas@hsdf uploads/adsda.png themes/theme1.png
table 2
name Friends
id sender receiver checked
1 bob fred 2
2 表示他已經檢查並接受了它。
所以我可以從表 2 中獲取名稱,但我不知道如何從表 1 中獲取用戶的圖片
這是一個經典的 JOIN 查詢。 你想要誰的照片,發件人的還是收件人的? 讓我們為接收器獲取圖片:
SELECT sender, receiver, picture
FROM Friends JOIN Users ON(receiver = username)
WHERE checked = 2;
如果您只需要特定用戶,請將條件sender = 'Jim'
或類似的內容添加到查詢中。
你也可以加入一個表兩次。 假設您想同時獲取發送者和接收者的圖片:
SELECT sender, receiver, U1.picture AS senderpicture, U2.picture AS receiverpicture
FROM Friends
JOIN Users AS U1 ON(sender = U1.username)
JOIN Users AS U2 ON(receiver = U2.username)
WHERE U2.checked = 2;
SELECT T1.PICTURE
FROM TABLE2 T2
JOIN TABLE1 T1
ON T1.USERNAME = T2.SENDER
你需要一個連接,可能是一個左連接:
SELECT cols,你,想要 FROM Friends LEFT JOIN Users ON Friends.username=Users.username;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.