【发布时间】:2009-05-18 14:07:23
【问题描述】:
如何选择两个连接表的所有字段,而不与公共字段冲突?
假设我有两个表,Products 和 Services。我想这样查询:
SELECT Products.*, Services.*
FROM Products
INNER JOIN Services ON Products.IdService = Services.IdService
这个查询的问题是IdService会出现两次,导致一堆问题。
到目前为止,我发现的替代方法是从 Products 中区分每个字段,IdService 除外。但这样我每次向Products 添加新字段时都必须更新查询。
有没有更好的方法来做到这一点?
【问题讨论】:
-
你可以使用自然连接吗?它会自动执行您想要的操作。
-
我使用的是 SQL Server 2005,我不认为 NATURAL JOIN 和 COMPOSE 可以在这里工作。
-
好的,鉴于“你不应该那样做”的答案的数量,我承认我一定是走错了方向。我不会再使用 SELECT * 了。
标签: sql sql-server inner-join