2017-03-20 3 views
1

結果には、グループconcatに複数の値があるレコードのみが表示されるクエリが必要です。私は、group_contact列に複数の値が表示されているレコードのみに興味があります。MySQLは、GROUP_CONCATの数が1を超えるレコードのみを表示します。

私はPOの価格変更を保存する変更ログテーブルを持っています。 PO価格の各変更は、テーブルの別のエントリです。ここに私のクエリはこれまでのところです:

SELECT PONum, POLine, GROUP_CONCAT(DISTINCT DocUnitCost) AS priceChanges 
FROM `podetailcl` 
WHERE 1 -- ?something here saying where COUNT of price changes > 1? 
GROUP BY PONum, POLine 

追加情報: enter image description here

私はHAVINGを使用する必要があるかもしれませんが、私はそれを構築する方法についてはあまり明確ではありませんよ。私は他のページで提案を試してみましたが、私はまだこのページで迷っています。

答えて

1

あなたはどこのフィルタ集計結果を持っなく使用する必要があります。..

SELECT PONum, POLine, GROUP_CONCAT(DISTINCT DocUnitCost) AS priceChanges 
FROM `podetailcl` 
GROUP BY PONum, POLine 
having count(DISTINCT DocUnitCost)>1 
+0

これは完全に機能しました。私はそれが何か簡単だろうと感じました! –

+0

@ S.Mason ... sqlは非常に強力な(そして簡単な)言語ですが、このために構築されています...多くのありがとう – scaisEdge

1
SELECT PONum, POLine, GROUP_CONCAT(DISTINCT DocUnitCost) AS priceChanges 
FROM `podetailcl` 
GROUP BY PONum, POLine 
HAVING COUNT(DISTINCT DocUnitCost) > 1 
+0

もこれであなたの助けをいただき、ありがとうございます。 –

+0

@ S.Masonは元気? –

+0

はい、問題ありません!乾杯。 –

関連する問題