我的列有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?我不知道。我问。)然后他们显示数据。谁知道怎么做?
答案 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