嘿伙计我有一个问题是如何从一张桌子获取信息,然后使用该信息,例如一个名称,然后查询数据库,告诉我表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中获取用户的图片
答案 0 :(得分:2)
这是一个经典的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;
答案 1 :(得分:1)
SELECT T1.PICTURE
FROM TABLE2 T2
JOIN TABLE1 T1
ON T1.USERNAME = T2.SENDER
答案 2 :(得分:0)
您需要加入,可能是左连接:
SELECT cols,you,want FROM Friends LEFT JOIN Users ON Friends.username = Users.username;