如何通过一个连接从表中拉出多个项目?

时间:2013-11-29 02:18:21

标签: mysql sql join

我有一个联接,我希望通过加入两个不同项目ID的项目ID上的项目表来收集两个项目的名称。例如:

SELECT first_item_name, second_item_name FROM items JOIN order_table ON ...

这就是我被困的地方 - 我实际需要做的是在一张桌子上连接两个,第一个选择第一个项目的名称:

ON first_item_id = first_id

然后返回并使用另一个联接选择第二个项目的名称:

ON second_item_id = second_id

我的问题是,这可以在一次加入中完成吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

总之;否。

要记住的是

On value = value
对于每个元组,

子句必须求值为TRUE(将其视为有效记录中的元组,但是由连接创建的记录)。因此,如果第一个元组的tableA.col1 = tableB.col1为真,那么同时对于第二个元组的tableA.col1 = tableB.col1也是如此。这是皱纹;在两种情况下tableA.col1 = tableB.col1但仅针对每个元组,以你要求的方式我可以同时使用tuple1和tuple2。

不要担心不止一次加入同一张桌子。这并没有错,不会导致性能不佳或任何其他原因被避免。