【发布时间】:2014-09-06 01:56:03
【问题描述】:
我有 2 个名称和架构相同的表。我想加入他们,但只从其中一张表中选择行。有什么好方法可以做到这一点?下面的查询从两个表中选择行,但我只想要另一个数据库中的表 a2。
select a.fkey_id, a2.fkeyid_id, a.otherthing, a2.otherthing from mytable a
inner join otherdb.dbo.mytable a2 on a.fkey_id=a2.fkey_id
我尝试使用左外连接,但由于两个表之间的架构相同,这似乎不起作用。 编辑:我只在选择中包含“a”表列,以了解行返回的值。我只是不想从“a”返回任何行,所以我想以某种方式过滤掉这些行。
【问题讨论】:
-
那么,修改您的
Select语句以仅包含您关心的字段...? -
省略
a.fkey_id和a.otherthing -
呃,不要在选择列表中引用
a.anything -
如果你不想列出所有的列,你可以 SELECT a2.* from mytable a INNER JOIN otherdb.dbo.mytable a2 ...
-
@pmbAustin 或者不要使用 SELECT * 并只列出所需的列(该表可能有 400 列,据您所知)。
标签: sql sql-server join