SQL-запрос для 3 таблиц - PullRequest
0 голосов
/ 13 мая 2010

у меня есть 3 таблицы (A, B, C) Таблица А -

ID Name
1  Sam
2  Manuel
3  Jane

Таблица B

ID Tab_A_ID Name
1   1       Meer
2   1       Kutti
3   2       Mikaro

Таблица C

ID Tab_B_ID Price
1  1        255.11
2  1        30.52
3  3        125.22

Мне нужен запрос, который выберет максимальную цену для TableA-Name из TableC. Так что только 1 максимальная цена за 1 нае запись. например .-

Сэм - 255,11

Мануэль - 125,22

Как я могу получить это?

1 Ответ

1 голос
/ 13 мая 2010

Чтобы получить максимальную цену за запись в A:

SELECT     a.Name,
           MAX(c.price)
FROM       a
INNER JOIN b
ON         a.id = b.tab_a_id
INNER JOIN c
ON         b.id = c.tab_b_id
GROUP BY   a.id, a.name

Чтобы получить максимальную цену за запись A за запись B:

SELECT     a.Name,
           b.Name
           MAX(c.price)
FROM       a
INNER JOIN b
ON         a.id = b.tab_a_id
INNER JOIN c
ON         b.id = c.tab_b_id
GROUP BY   a.id, b.id, a.name, b.name

Обратите внимание, что в результате появятся записи в A без соответствующих записей в B или записи в B без соответствующих записей в C не Используйте LEFT JOIN, если хотите включить их в результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...