【发布时间】:2018-01-05 11:39:42
【问题描述】:
我在 SQL Server 中有两个表:
[生产].[dbo].[订单详情]:
CaseId Gender
-----------------
698 Female
694 Male
676 Male
659 Male
636 Female
624 Female
622 Female
597 Male
579 Male
574 Male
[生产].[dbo].[订单]
OrderID SoftAdminOrderID InfoIDOrderID Active
----------------------------------------------------
33425999 698 196665 1
33425984 694 196662 1
33425984 694 196663 0
33425609 676 196645 1
33425270 659 196625 1
33424973 636 196609 1
33424716 624 196594 1
33424704 622 196592 1
33424500 597 196568 1
33424340 579 196552 1
33424281 574 196548 1
我想通过内部连接获得性别:
SELECT TOP (10)
[OrderID],
[SoftAdminOrderID],
[InfoID],
[Active],
/* [Gender]*/
FROM
[Production].[dbo].[Order]
/*INNER JOIN
[Production].[dbo].[OrderDetails] ON [Production].[dbo].[Order].SoftAdminOrderID = [Production].[dbo].[OrderDetails].CaseId*/
where Active = 1
order by SoftAdminOrderID desc
但是当我从内部连接中删除评论时出现错误:
消息 209,第 16 层,状态 1,第 58 行
不明确的列名称“CaseId”。
我不明白为什么它被认为是模棱两可的。
【问题讨论】:
-
错误与查询不符。
-
正如您所展示的,这些表没有共同的列名,您的查询也没有显示这是一个问题。您确定您发布了正确的表结构和查询吗?
-
^^ 他们说的。您发布的代码 sn-p 不是引发错误的位置。
-
对不起,我稍微修改了我的真实案例并忘记了一些事情。现在我更正了,添加了 ,[gender]。这个例子应该反映我的真实情况。
-
你确定这是整个查询吗?此查询不应出现错误消息,因此必须遗漏一些内容
标签: sql sql-server tsql inner-join