これは私がSQLで解決しなければならない大きな問題ですが、方法がわかりません。これは私のデータセットです:
customer; publisher; qty
これはデータ サンプルです。
CustA; PublX; 10
CustA; PublZ; 20
CustA; PublF; 30
CustB; PublX; 8
CustC; PublD; 9
CustD; PublX; 9
CustD; MyPub; 18
CustE; PublZ; 3
CustE; MyPub; 8
パブリッシャーとして「MyPubl」を使用せずに顧客のみを取得するクエリを実行する必要があります。明らかに私はできません:
SELECT * from myTable where Publisher <>"MyPubl"
1 つの解決策は、次のように顧客を 1 行に集約するサブセット テーブルを作成することです。
CustA; PublX PublZ PublF; 60
CustB; PublX; 8
etc...
次に、INSTRを使用して、2番目のフィールドにMyPubが存在するかどうかを確認します...このソリューションは私の仕事です..だから、SQLでこれを行うにはどうすればよいですか(「同じ」顧客を1行に集約する)?
他の提案(おそらくもっとエレガント)はありますか?
ありがとう