MySQL从多个表中选择2个项目

时间:2014-01-12 17:39:33

标签: mysql

我正在尝试从多个表中选择2个相同的项目。这是我的数据耗尽。

产品

Item ID    Item name
1          Item1
2          Item2
3          Item3
4          Item4

物品对

Item ID 1  Item ID 2
4          1
4          3
3          1
4          2

这些对通过外键链接。

我需要做的是根据项目对ID选择2个项目名称。我只使用以下查询选择其中一个,但无法选择更多。

SELECT item_name FROM items, item_pairs WHERE item_pairs.item_id_1 = item.item_id

非常感谢

2 个答案:

答案 0 :(得分:2)

通过重新加入项目表

来尝试这个
SELECT 
  i.item_name,
  i2.item_name 
FROM
  items i 
  JOIN item_pairs ip 
    ON ip.item_id_1 = i.item_id 
  JOIN items i2 
    ON ip.item_id_2 = i2.item_id 
GROUP BY ip.item_id_1,
  ip.item_id_2 

答案 1 :(得分:-1)

看起来你忘了实际选择第二张表的栏目了......

SELECT item_name, item_id_2 FROM items, item_pairs WHERE item_pairs.item_id_1 = item.item_id</strike>

好的,我现在找到了你...你需要使用HAVING参数添加到当前查询的末尾......类似于HAVING items.item_id 4或者你想要选择的任何内容。