2016-07-20 6 views
1

を満たしていない:MySQLのサブクエリ - 結果は、私は、MySQLに対して次のSQLクエリを持って、両方の

SELECT SQL_CALC_FOUND_ROWS objects.objects_no 
FROM objects 
LEFT JOIN finds ON (objects.objects_no = finds.objects_no) 
LEFT JOIN ceramics ON (objects.objects_no = ceramics.objects_no) 
WHERE 1=1 
and (objects.objects_no) in (select DISTINCT objects_no from objects_materials where thesaurus_term_id in (18658)) 
and (objects.objects_no) in (select DISTINCT objects_no from objects_objects where thesaurus_term_id in (24193)) 
GROUP BY objects.objects_no 
ORDER BY objects.objects_no 

代わりに、両方のサブクエリに一致する結果を得るための、私もどちらか一方に一致する結果が得られます。それは誰にも分かりますか?

ありがとう、Sandro

+0

集計列を除いてグループを実行しているためです。だから私はグループごとに最初のものを与えることと同等のためのトリッククエリですか? – Drew

+0

@Drew。 。 。いいえ、それは効果的に「選択してください」です。 –

+0

別名を選択し、グループごとに1つ、同じ差異を与えてください。 – Drew

答えて

0

条件をカッコで囲みます。

WHERE (
    (1=1) 
    and ((objects.objects_no) in (select DISTINCT objects_no from objects_materials where thesaurus_term_id in (18658))) 
    and ((objects.objects_no) in (select DISTINCT objects_no from objects_objects where thesaurus_term_id in (24193))) 
) 
+0

チップをありがとうが、それもうまくいきませんでした。私は本当に困惑しています。 – user3783604

0

ご協力いただきありがとうございます。それは実際にうまくいく。シソーラス内のデータに問題がありました。 申し訳ありません!

関連する問題