2016-10-01 4 views
0

私は、VendorIDが34,35、および83の企業の中で最大の支払いよりも大きい支払いを行ったベンダーのVendorIDをリストするクエリを作成しようとしています。サブクエリを使用します。ベンダーIDと支払いを表示します。 以下は私の仕事です。これはVendorID 34の返品結果のみです。複数のvendorID(34,35、および83)を持つ企業の中で最大のものよりも大きい支払い額をリストアップすることは可能ですか?私が知っているSQL:最大の支払い会社よりも高い支払いを返すクエリ

SELECT VendorID, PaymentTotal 
FROM Invoices 
WHERE PaymentTotal > ALL 

    (SELECT PaymentTotal 
    FROM Invoices 
    WHERE VendorID = 34) 
+1

サンプルデータと期待される結果が参考になります。おそらくあなたのサブクエリを 'select max(paymenttotal)from invoices where(34,35,83)' ... – sgeddes

+0

私はそれを試みます。本当にありがとう。 –

答えて

0

、これはかなり古い質問ですが、ちょうどいくつかの穴を埋めるために:あなたのテーブルを考えると

は、このようないくつかのSQLを使用して作成されました:

create table if not exists Invoices (
    VendorID integer, PaymentTotal float 
); 

とがあるかもしれませんこのような内部のデータ:

insert into Invoices values(1, 3500.5); 
insert into Invoices values(2, 9500.5); 
insert into Invoices values(34, 500.5); 
insert into Invoices values(35, 700.5); 
insert into Invoices values(83, 4000.5); 

次に、ベンダーIDはデータベースliから簡単に引き出されますこれは

SELECT VendorID 
FROM Invoices 
WHERE PaymentTotal > 
    (SELECT max(PaymentTotal) 
    FROM Invoices 
    WHERE VendorID in (34, 35, 83)); 

最新のPostgreSQLでテストされています。

関連する問題