Sie tun dies:
SELECT DISTINCT Content.content_name
FROM Language AS Language2
LEFT JOIN contents AS Content ON (Language2.language_id = Content.language_id)
Also warum dies Ihre Frage nicht beantworten?
Lassen Sie uns die folgenden Daten prüfen (nur die ersten beiden Spalten):
content_name Name
XXXXX 1234
XXXXX 5678
SELECT DISTINCT
bedeutet, dass Sie nur eine Zeile wollen, aber was wollen Sie für Name?
Was Sie tun müssen, ist, den Code neu schreiben GROUP BY
zu verwenden und die entsprechenden Aggregatfunktion für die anderen Spalten auswählen:
SELECT
Content.content_name,
MIN(Language2.Name) AS Name,
MIN(Language2.language_id) AS language_id,
MIN(Content.id) AS id,
MIN(Content.content_description) AS content_description,
FROM
Language AS Language2
LEFT JOIN contents AS Content
ON (Language2.language_id = Content.language_id)
GROUP BY
Content.content_name
Nun, wahrscheinlich ist dies nicht produzieren, was Sie wollen entweder, aber eine Sache ist Sicherlich kann man die Datenbank-Engine nicht dazu bringen, "nur eine der Zeilen auszuwählen, die zurückgegeben werden sollen, mir ist es egal".
+1 Gute Antwort. Haben Sie die Gruppe für content_name deaktiviert? –
Ja, fügte es jetzt hinzu und formatierte das SQL ebenfalls neu. –
Ich benutze auch diese Methode, aber ich fühle mich immer schmutzig dabei. Ist MIN und MAX hier wirklich das Richtige? Was verwenden andere Datenbanken wie mySQL und Oracle, mit denen Sie eine einzelne Spalte für das Schlüsselwort DISTINCT auswählen können? Machen sie hinter den Kulissen eine MIN/MAX? – emalamisura