![]() |
Помогите сформировать SQL Запрос
Всем здрасти!
Помогите пожалуйста! Нужно составить такой запрос: Код:
SELECT `y`.`id`, `x`.`date` т.е. из нескольких результатов мне нужно выбрать только один результат, где `x`.`date` максимальное и удовлетворяет условию `x`.`date` < UNIX_TIMESTAMP() Я знаю что там нужно както через JOIN делать, просьба на ссылки не отправлять, все равно не могу понять как он работает. Если кто JOIN юзать умеет, напишите плиз на примере моего кода как это нужно сделать. Спасибо! |
Используйте подзапрос
Код:
AND `x`.`date` = (SELECT MAX(`x`.`date`) FROM `x`)... |
Цитата:
Там еще условие `x`.`id` = `y`.`id` Т.е. результатов может быть несколько А в подзапросе `x`.`date` = (SELECT MAX(`x`.`date`) FROM `x`)... Возможен только один единственный результат Значит я не правильный пример показал Попробую еще раз: Код:
SELECT `y`.`id` ... Или так? Код:
SELECT `y`.`id`, `x`.`date` `y`.`id` | `x`.`date` 1 | 1271606772 1 | 1271606723 1 | 1271606847 - максимальное значение `x`.`date` для `y`.`id` = 1 4 | 1271606455 4 | 1271606754 - максимальное значение `x`.`date` для `y`.`id` = 4 Из этих результатов нужно выбрать `x`.`date` который максимальный для этого `y`.`id` и удовлетворяет условию `x`.`date` < UNIX_TIMESTAMP() если 1271606847 < UNIX_TIMESTAMP() то оно пойдет в результат если 1271606754 < UNIX_TIMESTAMP() то оно пойдет в результат Вот такое вот надо както в одном запросе сделать... |
FROM `x` , `y` - фром сразу из двух таблиц через запятую?)
По русски, без кода, на словах объясни, что тебе нужно, объяснять свои желания на примере "понятного" только тебе кода не есть хорошая идея |
Цитата:
Цитата:
|
Код:
SELECT `y`.`id`, `x`.`date` Код:
SELECT `y`.`id`, `x`.`date` |
Решение найдено!
оно: Код:
SELECT `y`.`id` , `x`.`date`, MAX( `x`.`date` ) AS `max_date` |
| Время: 08:06 |