PHP SQL选择具有两个不同值的相同列

时间:2013-12-12 23:44:10

标签: php sql join

所以我有两张价格信息表。

Table_01有一个ID和一个价格,table_02包含ID和不同组价的额外信息。

table_01

---------
id price
---------
1  300
2  300
3  300

table_02

----------------
id group price
----------------
1    1     50
2    1     50
2    2     100
3    1     50

我想用HTML输出

----------------------------------------
ID PRICE GROUP1 PRICE GROUP2 PRICE
-----------------------------------------
1   300      50         -
2   300      50        100
3   300      50         -

我已成功查询除“GROUP2 PRICE”之外的所有内容。我使用这个SQL命令

SELECT table_01.id, table_02.price AS saleprice, table_01.price
FROM table_01
LEFT JOIN table_02
ON table_01.id=table_02.id AND table_02.group= '1'

我不确定如何查询第二组。我可以轻松地将"='1'"替换为"='2'",但我想以某种方式获得它们。

3 个答案:

答案 0 :(得分:1)

只需加入table_02两次:

SELECT table_01.id, table_01.price, t02a.price price1, t02b.price price2
FROM table_01 
LEFT JOIN table_02 t02a ON table_01.id=t02a.id AND t02a.group='1' 
LEFT JOIN table_02 t02b ON table_01.id=t02b.id AND t02b.group='2'

答案 1 :(得分:0)

您应该使用GROUP BY语句

答案 2 :(得分:0)

试试这个?

SELECT table_01.id, table_01.price, t21.price AS 'GROUP1 PRICE',   
t22.price AS 'GROUP2 PRICE'  
FROM table_01   
LEFT JOIN table_02 t21  
ON table_01.id=t21.id AND t21.group= '1'  
LEFT JOIN table_02 t22  
ON table_01.id=t22.id AND t22.group= '2'