2011-09-12 7 views
0

私はかなり複雑な結合クエリを持っています。その結果は結果に単一の別のTable_ID値がある場合にのみ気になります。たとえば、Table_IDに複数の値がある場合、1と2と言うと、0行が返されます。与えられた列の値が1つだけの場合にのみ行を返します

これは、WHERE COUNT(DISTINCT Table_ID) = 1を追加して考えていました。これが最善の方法でしょうか? LIMITでこれを行うことは、他のテーブルから返される行の数を、制限しようとする行の数を超えて制限するため、不可能と思われます。

PHP/MySQLを使用しています。

+0

この質問は、あなたが使用している完全なクエリを見ずに答えることはできません。 – Jon

答えて

1

私はこれを、Table_IDでグループ化してグループ内の項目の数を数えることによって、1回行いました。ような何か:

SELECT *, COUNT(*) AS num FROM `myTable` GROUP BY `Table_ID` HAVING num = 1 

さらに詳しい情報:http://www.java2s.com/Code/SQL/Select-Clause/UseCOUNTGROUPandHAVING.htm

+0

グループ化しないと、同じ 'Table_ID'を持つ複数の行があるときに他の行を取得できなくなりますか? – babonk

+0

はい、「結果に単一の個別のTable_ID値が存在する場合のみ気にします」と、右?? – Rijk

+0

はい、1つの個別のTable_IDを持つ複数の行を持つことは可能です – babonk

関連する問題