我在SQL Server中选择了一个语句
SELECT Oid AS 'Order ID',
Eid AS 'Employee ID',
Barcode,
PacksQty AS 'Pack Quantity',
UnitQty AS 'Units Quantity',
Date AS 'Order Date',
Price AS 'Total Price'
FROM OrderDetails
INNER JOIN Orders
ON OrderDetails.Oid = Orders.Oid
选择Oid时出错并且错误是“不明确的列名'Oid'”
答案 0 :(得分:0)
Oid
不明确,因为它在两个表格中都是如此。与自然连接(未在SQL Server中实现)不同,您需要指定要SELECT
值的表。
这可能看似多余,因为您的查询已指定OrderDetails.Oid = Orders.Oid
,但这两个值实际上可能不同(例如OrderDetails.Oid
为'abc'
且Orders.Oid
为{{1}和不区分大小写的排序规则)。
您可以定义表别名以避免输入整个表名。下面的示例语法(对您的架构做出一些假设)
'ABC'