Ich habe die folgende SQL-Abfrage für MySQL:mysql Unterabfrage - Ergebnisse nicht erfüllen beide
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
Stattdessen Ergebnisse zu bekommen, die beiden Unterabfragen entsprechen, habe ich auch Ergebnisse, die eine oder die andere passen. Hat jemand eine Idee warum das so ist?
Danke, Sandro
, weil Sie eine Gruppe mit ohne Aggregatspalten machen. Also ist es eine Trickabfrage für das Äquivalent von doing gib mir die erste pro Gruppierung? – Drew
@Drew. . . Nein, es macht effektiv "Select distinct". –
Wählen Sie distinct, geben Sie mir einen pro Gruppierung, gleichen Unterschied. – Drew