SQL如何在这种特定情况下选择数据

时间:2013-11-25 16:04:03

标签: sql select

我的列有3个表。

'players': id

'items': player_id,item_id,quantity

'item_list': id,price

我想选择播放器列表中的所有项目:

("select * from items where player_id=$player_id")

同时显示项目数据表单'items_list'表。输出应该是这样的

  

嗨,我有身份$player_id。这是我的物品

     

item_id1 price1多少:$ quantity1

     

item_id2 price2多少:$ quanity2

等等

怎么做?我不想为每个(while $row=mysqli_fetch_array($result))查询我的基础。那太重了。我想做1或2个查询(union?outer join?inner join?我不知道。我问。)然后他们显示数据。谁知道怎么做?

2 个答案:

答案 0 :(得分:0)

如果我理解正确,我认为你可以通过加入来做到这一点:

SELECT il.id AS ItemID ,il.price AS ItemPrice,i.quantity AS ItemQtY
FROM items i
INNER JOIN item_list il ON i.item_id = il.id
WHERE player_id = $player_id

这为您提供了item_list表中的价格信息以及来自items表的数量。

答案 1 :(得分:0)

您需要使用group by子句加入。

select i.item_id, il.price, i.quantity
from items i, items_list il
where i.player_id=$player_id
and i.item_id = il.item_id
group by i.item_id