产品相同型号到相关产品表
问题描述:
我越来越疯狂创建一个从一个选择相同的模型表插入。 我认为我应该创建一个临时表来阐述所有模型,但是如何? 下面的表格我有:产品相同型号到相关产品表
表产品
+------------+----------+
| id_product | id_model |
+------------+----------+
| 1 | D |
| 2 | D |
| 3 | A |
| 4 | C |
| 5 | D |
+------------+----------+
这里表我想创建,但我的最好的问题是,在相关的记录应该重复像 ID1 - > ID2和id2-> ID1
表再
+------------+-----------------+
| id_product | related_product |
+------------+-----------------+
| 1 | 2 |
| 1 | 5 |
| 2 | 1 |
| 2 | 5 |
| 5 | 1 |
| 5 | 2 |
+------------+-----------------+
答
嗯。我认为你只是想自我加入
select p1.id_product, p2.id_product as related_product
from product p1 join
product p2
on p1.id_model = p2.id_model and
p1.id_product <> p2.id_product;
一个微小的变化。我跑你的查询和输出翻转。在第一行交换p1.id_product和p2.id_product可以解决这个问题。除此之外,很好的答案。 – Ethilium
这怎么可能? Gordon给出的查询关于p1和p2是对称的!也许你误解了一些东西? –
投了!但我仍然不明白它是如何工作的。我还添加了(只是为了创建表)'通过p1.id_product,p2.id_product ASC'命令,它就像一个魅力。你能给我一点解释吗?至少两排。提前致谢。 – Vixed