1

テーブル(製品)から行を選択したいのですが、そのテーブルはJOINステートメントを使用して別のテーブル(在庫)にリンクされています。

products テーブルには、SKU と minimum_stock という 2 つの重要なフィールドがあります。在庫表にはSKU(商品との関係)と数量があります

ここで、テーブル在庫に SKU が存在し、qty が製品の minimum_stock よりも大きい場合にのみ、製品から行を選択したいと考えています。

このような:

SELECT * 
FROM products
INNER JOIN stock ON products.SKU = stock.SKU
WHERE products.minimum_stock.value > stock.qty.value;

明らかに、このコードは機能しません。

誰か助けてくれませんか?

前もって感謝します。

4

1 に答える 1

1

テーブルが次のようになっている場合:

製品:

  • SKU
  • 最小在庫
  • (...その他の列...)

株式

  • SKU
  • 数量
  • (...その他の列...)

クエリの列の末尾に .value を付ける必要はありません。実際、それがこれを機能させない原因です。

次のようにします。

SELECT * 
FROM products
INNER JOIN stock ON products.SKU = stock.SKU
WHERE products.minimum_stock > stock.qty;

SQL Fiddle Demo

于 2013-10-08T19:40:59.967 に答える