我有以下SQL语句,返回“非唯一表/别名”。我相当确定我只是在这里遗漏了一些明显的东西,在引用StockID
时可能不够具体,因为它是Stock
和SuppliersStock
的通用字段名称。 Stock
中的主键,SuppliersStock
中的外键
SELECT Stock.BuyingPrice, SuppliersStock.StockID, SuppliersStock.Quantity
FROM Stock
LEFT JOIN Stock on Stock.StockID = SuppliersStock.StockID
WHERE Stock.StockID = <some-integer />
Stock
表具有有关库存的特定信息,Suppliers
具有有关供应商的信息,SuppliersStock
具有具有Stock
和Suppliers
的外键引用的新库存的信息订单。我想做的是返回
BuyingPrice
(来自Stock
),StockID
,Quantity
(来自SuppliersStock
)字段,以便我可以生成新库存订单的成本 list 。免责声明:我知道,关于SQL连接的另一个问题。别伤害我!我已经用Google搜索,搜索了,但是我有点困惑,我一直试图寻找一个类似的问题,以了解更多有关如何自己解决这个问题的知识,但结果胜过一败涂地。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。.。。。。。。。。。。。。。.请帮忙?
最佳答案
看起来您正在将别名跳过到SuppliersStock
,或者它是另一个表:
/* If SuppliersStock is a different table */
SELECT Stock.BuyingPrice, SuppliersStock.StockID, SuppliersStock.Quantity
FROM Stock
LEFT JOIN SuppliersStock on Stock.StockID = SuppliersStock.StockID
WHERE Stock.StockID = <some-integer />
/* If SuppliersStock is the same table, needing an alias */
SELECT Stock.BuyingPrice, SuppliersStock.StockID, SuppliersStock.Quantity
FROM Stock
LEFT JOIN Stock AS SuppliersStock on Stock.StockID = SuppliersStock.StockID
WHERE Stock.StockID = <some-integer />