特定のアイテムに対して請求されたクライアントを確認する必要があります。テーブルは、以下のとおりです。クライアント、オーダー、詳細。接続方法は、クライアントから注文、注文から詳細までです。 (client.acctno = order.acctno、order.orderno = details.orderno)3つのテーブルにわたるクエリ結果
どのようにすべての注文を検索し、特定のアイテム(正確なテーブル名の下のサンプルコード)を販売していないものだけを表示することができます。私のデータは、すべてのクライアントを表示し続けます。なぜなら、特定の順序でアイテムを販売していないからです。すべての注文としてそれらをまとめて比較したいと思っています。
SELECT *
FROM plshared.dbo.client
LEFT OUTER JOIN PL00.dbo.ordhdr ON ordhdr.ACCT_NO = client.ACCT_NO
WHERE NOT EXISTS (SELECT *
FROM pl00.dbo.orddet
WHERE orddet.ORDER_NO = ordhdr.order_no
AND orddet.ITEM_NO = '2017WI')
--GROUP BY client.ACCT_NO
ORDER BY CLIENT.ACCT_NO
どのRDBMSがこれに該当しますか? MySQL、PostgreSQL、Oracle、SQL Server、IBM DB2などを使用しているかどうかにかかわらず、多くの場合違いがあります。あなたの質問に関連タグを追加してください! –
SQL Server Mgnt Studio –
それで、あなたの質問に 'sql-server'タグを追加してください... –