2

3 つのテーブルがあり、SQL クエリを作成してそれらを適切に表示したいと考えています。

1.) ザカズ

id | Comment

2.) トバー

id  | id_clients | zakaz

3.) ユーザー

id | name

それらは次のように接続されています。

zakaz.id = tovar.zakaz
tovar.id_clients = users.id

見たい

zakaz.id | users.name  

しかし、zakaz ごとに 1 つの文字列のみに制限したいので、次のようにしました。

SELECT zakaz.id, zakaz.comment, tovar.id_clients
    FROM zakaz
    JOIN tovar ON zakaz.id = tovar.zakaz
GROUP BY zakaz.id

そして、ユーザーに参加したいのですが、うまくいきません

SELECT zakaz.id, zakaz.comment, tovar.id_clients, users.name
    FROM zakaz
    JOIN tovar ON zakaz.id = tovar.zakaz
    GROUP BY zakaz.id
JOIN users ON users.id = tovar.id_clients
4

1 に答える 1

3

最新のIDが表示されますZakaz

SELECT  a.name, c.id
FROM    Users a
            INNER JOIN
            (
                SELECT id_clients, zakaz, MAX(id) maxID
                FROM Tovar
                GROUP BY id_clients, zakaz
            ) d 
                ON d.id_clients = a.id
            INNER JOIN Zakaz c
                ON d.zakaz = c.id
于 2012-09-01T11:25:10.167 に答える