0
Ich verwende diese Abfrage für Tags ÄhnlichkeitMYSQL: Kardinalitätsverletzung: 1242 Unterabfrage gibt mehr als 1 Zeile zurück?
SELECT sites_id
FROM tags_to_sites
WHERE tags_id IN (SELECT tags_id FROM tags_to_sites WHERE sites_id= ?)
AND sites_id!= ?
GROUP BY sites_id
HAVING COUNT(*) = ( SELECT COUNT(*) FROM tags_to_sites
WHERE tags_id IN (SELECT tags_id FROM tags_to_sites WHERE sites_id= ?)
AND sites_id!= ?
GROUP BY sites_id
ORDER BY COUNT(*) DESC LIMIT 3)
aber ich einen Fehler
SQLSTATE [21000] erhalten suchen: Cardinality Verletzung: 1242 Subquery liefert mehr als 1 Reihe
jemand weiß warum?
Ihre Unterabfrage Rückkehr 3 Zeilen (von 'ORDER BY COUNT (*) DESC LIMIT 3'), und Sie haben nur 1 zurückzukehren oder Ihre' having' Aussage umschreiben zu ' HABEN ZÄHLEN (*) IN ' – SatanDmytro
guten Fang! Wie beschränke ich das letzte Array auf nur 3 Ergebnisse? Shoudl Ich bewege Limit 3 außerhalb der Klammer richtig? – Francesco
können Sie einige Daten aus der Tabelle hinzufügen und erklären, welche Abfrage Sie wünschen? – SatanDmytro