【发布时间】:2013-10-13 22:04:53
【问题描述】:
我正在寻找一种在类似于 MySQL“使用”的 PK 上加入关系表的方法,以便我可以消除重复的列。
这是一个例子:
select *
from MovieHasDirector
join Director on MovieHasDirector.directorID = Director.directorID
where Director.name
like '%Steven Spiel%'
返回:
3818 976 976 Steven Spielberg
3962 976 976 Steven Spielberg
4317 976 976 Steven Spielberg
4715 976 976 Steven Spielberg
当我真正想要的是:
3818 976 Steven Spielberg
3962 976 Steven Spielberg
4317 976 Steven Spielberg
4715 976 Steven Spielberg
您可以看到重复的 directorID 列消失了。在 MySQL 中,您可以使用 using(directorID) 而不是 ON directorID = directorID
来做到这一点当然,我正在尝试这样做,而不必手动指定 Select MovieHasDirector.movieID, Director。* 我希望返回的记录与相同的列重叠。我该怎么做?
【问题讨论】:
-
所以 MySQL 使得在生产代码中使用
select *变得更容易,而 SQL Server 让它变得更难,which is a good thing。 -
我有the same problem。你可能想看看this solution。
标签: sql sql-server join