我有以下SQL语句,返回“非唯一表/别名”。我相当确定我只是在这里遗漏了一些明显的东西,在引用StockID时可能不够具体,因为它是StockSuppliersStock的通用字段名称。 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具有具有StockSuppliers的外键引用的新库存的信息订单。

我想做的是返回BuyingPrice(来自Stock),StockIDQuantity(来自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 />

10-07 21:04