Frage

Ich habe eine ähnliche Funktion zu einer Datenbank Einträge Hinzufügen ... hier ist die Struktur der DBs:

**Users**
user_id
user_name
etc.

**Entries**
entry_id
entry_content
etc.

**Likes**
user_id
entry_id

(Es ist ein wenig komplizierter als das, gibt es Gruppen / Kategorien, aber das sollte es in Ordnung erklären ...) Hier ist die SQL-Abfrage, die ich mit gerade arbeitete im Moment:

SELECT 
entries.*,
DATE_FORMAT(entry_date, "%M %D, %Y") as entry_date,
groups.group_short_name,
users.user_name, users.user_id,
FROM entries 
INNER JOIN groups ON groups.group_id = entries.group_id 
INNER JOIN users ON users.user_id = entries.user_id 
ORDER BY entry_date DESC

Ich versuche, auch gerne per Eintrag abrufen mit dieser Abfrage und frage mich, ob es möglich ist. Ich habe versucht:

COUNT(DISTINCT likes.like_id) as likes

mit

LEFT JOIN likes ON likes.entry_id = entries.entry_id

Aber ich glaube nicht, dass irgendwo in der Nähe ist richtig. Bin ich weg? Ist das möglich? Hoffe, dass alles einen Sinn.

Danke für die Hilfe im Voraus.

War es hilfreich?

Lösung

Geben Sie Ihre Tabellen-Aliase, für ein ..

FROM entries e

Dann eine Spalte Abfrage hinzufügen:

select e.*, (select count(*) from Likes where entry_id = e.entry_id) as entry_likes

Andere Tipps

hinzu:

GROUP BY entries.entry_id

sehen, ob das funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top