SQL запрос

DomainsManager
На сайте с 27.03.2010
Offline
24
449

Добрый день.

Есть две таблицы: categories(id, datetime) и games('id',`cat_id`,`datetime` и т.д.)

Нужно сделать следующую выборку: из каждой категории (из таблицы categories) выбрать самую свежую запись из games.

Желательно одним sql запросом, так как в цикле - самое очевидное, но нерациональное решение.

Заранее спасибо за помощь. Также буду рад ссылкам на хорошие книги по базам данных (MySQL).

A
На сайте с 29.12.2007
Offline
68
#1

SELECT

c.*,
g.*
FROM
`games` AS g
LEFT JOIN `categories` AS c ON c.`id` = g.`cat_id`
WHERE
tg`id` IN (
SELECT
MAX(`id`) AS maxId
FROM
`games`
GROUP BY
`cat_id`
ORDER BY
`id` DESC
)
ORDER BY
g.`id` DESC

Примерно так.

MG
На сайте с 10.11.2010
Offline
11
#2

на простейший запрос

SELECT user_id, user_login FROM users WHERE user_hash=d13c3fcc8d0e6e668f15492fd2f89d01

получаю ошибку

#1054 - Unknown column 'd13c3fcc8d0e6e668f15492fd2f89d01' in 'where clause'

как так?

Ученье свет...а за свет нужно платить!
A
На сайте с 29.12.2007
Offline
68
#3

Хеш в кавычки возьми - это же строка:

SELECT user_id, user_login FROM users WHERE user_hash='d13c3fcc8d0e6e668f15492fd2f89d01'

MG
На сайте с 10.11.2010
Offline
11
#4

тьфу ты блин) чуть с ума не сошел

спасиб

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий