2017-01-13 5 views
1

こんにちは私はSQLの初心者です。テーブル内のアイテムの価格が売り価格よりも高いかどうかを判断しようとしています。クエリの結果は、テーブルに2つのアイテムがあることを示す必要があります。購入価格が販売価格よりも高い場合は、ブドウとパンです。テーブル内に複数の注文がある場合もありますので、それぞれをグループ化して注文のSQLの値が複数のwhere句でより高いかどうかを判断するクエリ

私は、しかし、私はあなたの条件の最も寛大な解釈が最高を比較している「」

SELECT * FROM Orders WHERE buy = 'false' AND price > price where buy = 'true' GROUP BY Id 

enter image description here

+1

ええ、それはそのような巣 'WHERE'条項にどんな意味がありません。また、 'price> price'は常に' false'を返します。 –

答えて

2

キーワードの近くに不正な構文を取得し、このSQLクエリを使用しようとしています最低価格販売価格と前者が後者よりも大きいかどうかを見て価格を購入する。これを達成できる1つの方法は、Idでグループ化し、これらの高い売買価格を得るために集計を使用することです。

SELECT Id 
FROM Orders 
GROUP BY Id 
HAVING MAX(CASE WHEN buy = 'true' THEN price END) > 
     MIN(CASE WHEN buy = 'false' THEN price END) 
+0

迅速な返信のためのTimさん、これは素晴らしい作品です。 –

関連する問題