Задавайте вопросы, мы ответим
Вы не зашли.
Доброе утро
Незнаю как написать такой запрос ..
Есть первая таблица в ней 2 колонки (дата и еда ) к примеру
(1 табл)
18.06.2010 Молоко
18.06.2010 Хлеб
18.06.2010 Курица
19.06.2010 Жаркое
19.06.2010 (итд)
19.06.2010
с нее по интервалу дат ( с и по) выбираем первых 5 дат (тоесть нада както строки с датами сгрупировать)
а потом есть (2 таблица)
в ней тоже самое что и с первой .. но сложность в том чтоб не находить во 2 таблице даты которые нашли в первой ..
и в результате вывести списки с первыми 5 датами по 2 таблицам
помогите ..
Неактивен
Неактивен
vasya написал:
select `дата`, group_concat(еда) from (select * from table1 where `дата` between X and Y
union
select * from table2 `дата` between X and Y)t
group by `дата` desc limit 5;
а что такое "t" ?
тут к томуже мне кажеться но даты из 1 таблице во второй не исключаються .. (могу быть не прав)
Отредактированно Arfey (15.06.2010 13:40:33)
Неактивен
Имя для таблицы построенной на объединении нужных строк из двух таблиц
(select * from table1 where `дата` between X and Y
union
select * from table2 `дата` between X and Y)
Неактивен
$query = "SELECT `Date`, group_concat(`Food`), `number` from (select * from `food` where `Date` between DATE(`".$dt_from."`) and DATE(`".$dt_to."`)
union select * from `food_menue` `Date` between DATE(`".$dt_from."`) and DATE(`".$dt_to."`))t group by `Date` desc limit 5";
типа так написал .. сча буду тестить
Отредактированно Arfey (15.06.2010 13:59:58)
Неактивен
vasya написал:
Имя для таблицы построенной на объединении нужных строк из двух таблиц
(select * from table1 where `дата` between X and Y
union
select * from table2 `дата` between X and Y)
оно тут обеденяет строки .. похожии но ситуация чуть не такая ..
в table1 если находит дату то в table2 оно не должно её искать ..
Неактивен
Обратные кавычки для аргумента функции date() не нужны.
Когда вы заключаете что-то в обратные кавычки, то это означает, что данное что-то не ключевое слово или значение, или имя функции, а алиас (т.е. имя столбца/таблицы/базы данных в зависимости от контекста). А так как столбца одноименного введенной вами дате нет, то вы получите ошибку.
Неактивен
Arfey написал:
оно тут обеденяет строки .. похожии но ситуация чуть не такая ..
в table1 если находит дату то в table2 оно не должно её искать ..
А вам точно это нужно именно одним запросом? Я конечно напишу "матерную конструкцию" из любви к искусству, но если вы это используете в проекте, то именно такие конструкции, только не на sql, а на великом и могучем вы услышите
Неактивен
vasya написал:
Arfey написал:
оно тут обеденяет строки .. похожии но ситуация чуть не такая ..
в table1 если находит дату то в table2 оно не должно её искать ..А вам точно это нужно именно одним запросом? Я конечно напишу "матерную конструкцию" из любви к искусству, но если вы это используете в проекте, то именно такие конструкции, только не на sql, а на великом и могучем вы услышите
select `дата`, `еда` from table1 where `дата` in(select `дата` from(
select `дата` from table1 union select `дата` from table2 order by `дата` desc limit 5)x)
union
select `дата`,`еда` from table2 where `дата` in(
select `дата` from (select `дата` from table1 union select `дата` from table2 order by `дата` desc limit 5)t2 left join (
select `дата`, `еда` from table1 where `дата` in(select `дата` from(
select `дата` from table1 union select `дата` from table2 order by `дата` desc limit 5)t))t1
using(`дата`) where `еда` is null) order by `дата`;
UPD: Ещё битвины дописать нужно
блин я такое .. на 1С пишу .. с одной стороны как бы понятно с другой нет
Неактивен