2 Stimmen

Wählen Sie eine Zeile aus zwei Tabellen abhängig vom Primärschlüssel (MySQL) aus?

Ich habe zwei Tabellen Benutzer und Album. In der Benutzertabelle gibt es den Primärschlüssel user_id. In der anderen Tabelle Alben gibt es mehrere Zeilen mit dieser user_id, weil jedes Mal, wenn ein Benutzer ein neues Album hochlädt, es mit user_id als Fremdschlüssel hochgeladen wird. Ich möchte nur einmal die user_id mit der anderen Tabelle (Album) auswählen und die anderen Ergebnisse ignorieren.

Wie kann ich das erreichen?

1voto

jefffan24 Punkte 1326
SELECT album.* FROM album LEFT JOIN users ON user.id = album.id WHERE user.id = SOMEIDHERE

Ich glaube, das wird funktionieren, du gibst mir nicht viele Informationen, um damit zu arbeiten.

1voto

John Woo Punkte 249233
SELECT  a.*, b.*
von    Benutzern a
        INNER JOIN Album b
            ON a.user_ID = b.user_ID
        INNER JOIN
        (
            SELECT user_ID, MAX(photo_id) max_rec
            FROM album
            GROUP BY    user_ID
        ) c ON b.user_ID = c.user_ID AND
                b.photo_id = c.max_rec

0voto

Robin Castlin Punkte 10878
SELECT *
FROM (  SELECT u.*, a.*
        FROM users AS u
        INNER JOIN album AS a
        ON u.user_ID = a.user_ID
        ORDER BY a.created DESC) AS h
GROUP BY user_ID

ORDER BY b.created DESC -> ORDER BY welche Zeile du auch immer wünschst. In diesem Fall wird die neueste ausgewählt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X