如何合并来自不同表的两个重复列并保留重复行-MYSQL

时间:2018-09-29 00:01:19

标签: mysql

我是MySQL的新手(关于合并列,我已经遍历了其他所有问题,但我认为我的问题可能略有不同)。我正在尝试联接两个表,并且只有这两个表中的三个列(“ QuantityOnHand”,“ WarehouseID”和“ WarehouseCity”)中的数据,但是,两个表中的每个列中的一个是相同的( “ WarehouseID”),具有相同的信息。运行查询时,我得到4列(因为“ WarehouseID”列已重复)。但是,我只需要显示“ WarehouseID”的一列即可。我想出了如何解决连接两个具有相同名称“ WarehouseID”的表的模棱两可的问题,但是我不知道如何合并重复的列(我不确定合并是否正确,我只是需要删除重复的列)我的查询如下:

SELECT i.QuantityOnHand, i.WarehouseID, w.WarehouseID, w.WarehouseCity
FROM inventory i
JOIN warehouse w ON i.WarehouseID = w.WarehouseID
WHERE i.QuantityOnHand >= 200
ORDER BY i.QuantityOnHand desc;

1 个答案:

答案 0 :(得分:0)

要删除重复的ID,只需在语句的SELECT部分​​中将其省略。您不必仅仅因为列出现在您的join子句中就选择它。我相信您可以通过以下语句实现您想要的:

SELECT i.QuantityOnHand, w.WarehouseID, w.WarehouseCity
FROM inventory i
JOIN warehouse w ON i.WarehouseID = w.WarehouseID
WHERE i.QuantityOnHand >= 200
ORDER BY i.QuantityOnHand desc;

请注意,我只是从您的陈述中省略了WarehouseID列之一。这是您要找的东西吗?