为其他每行选择一个表的所有行

时间:2015-08-10 08:50:33

标签: mysql

我有以下表格

users (id, name)
(1,"Vladimir"), (2,"Svatos")

prices (id, price)
(1,"M"), (2,"T")

userprice (uid, pid, val)
(1,2,1.01), (1,1,1.0)

我需要make query来返回每个用户的所有价格,如果用户没有相同的价格列“val”将是“null”

例如

name       price uid pid  val   
Vladimir   M       1   1    1    
Vladimir   T       1   2    1.05    
Svatos     M       2   1  NULL    
Svatos     T       2   2  NULL

谢谢!

1 个答案:

答案 0 :(得分:0)

溶液

选择   u.name,p.price,u.id,p.id,u1.val 来自用户你   INNER JOIN价格p     是的   LEFT JOIN userprice u1     ON(p.id = u1.pid AND u.id = u1.uid)ORDER BY u.name