首页 > 解决方案 > 如何合并来自不同表的两个重复列并保留重复行 - MYSQL

问题描述

我是 MySQL 新手(我已经查看了有关合并列的所有其他问题,我认为我的问题可能略有不同)。我正在尝试加入两个表,并且只有来自这两个表中的 3 个列(“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;

标签: mysql

解决方案


要删除重复的 ID,您只需从语句的 SELECT 部分中省略它。您不必仅仅因为它出现在您的连接子句中而选择一列。我相信您可以通过以下声明实现您正在寻找的东西:

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 列之一。这是你要找的吗?


推荐阅读