簡體   English   中英

將兩個表連接到一個數據庫中

[英]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.

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