用于选择所有但需要别名的SQL查询

时间:2015-12-11 21:18:21

标签: mysql left-join

我正在尝试对按项目ID链接的两个表执行连接操作。但是,它们的问题在于它们的列名具有以下相同的名称:

items
(ID, **Quantity**, etc. /*[nothing in etc. is shared by status' columns]*/)

status
(ID, **Quantity**, etc. /*[nothing in etc. is shared by items' columns]*/)

我想从这些表中获取所有记录并加入它们,但我不知道SQL查询的样子。我知道它会像:

SELECT *
FROM items
LEFT OUTER JOIN status
ON items.ID = status.ID

我知道我需要两个数量列的别名(我知道该怎么做),但是查询的后半部分在哪里适合?

1 个答案:

答案 0 :(得分:1)

通常,我建议避免SELECT *次查询。只需选择您需要的特定列,如果有重复的列名,您可以轻松为它们分配别名。

SELECT i.col1, i.col2, i.quantity AS item_quantity, s.col3, s.col4, s.quantity AS status_quantity
FROM items AS i
JOIN status AS s ON i.ID = s.ID

但是如果你真的需要选择所有列,你可以在Marc B的答案中使用该解决方案。