![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос
Ann © (2003-04-24 09:23:00)Доброго дня!
Подскажите пожалуйста..никак не могу правильно написать такой запрос
имеется одна таблица, в ней есть номер артикула и наименование и вторая таблица, в ней каждому номеру артикула может соответствовать несколько записей с датой. Нужно чтобы запрос выдавал строку в номером артикула, наименованием и МАКСИМАЛЬНОЙ датой..
Ann (2003-04-24 10:20:00) [21]как определиться? мне нужна строка состоящая из кода и наименования в первой таблице + строка с максимальной датой во второй таблице + все поля из второй таб.
Ann (2003-04-24 10:19:00) [22]а что же делать?? :((
Igor (2003-04-24 10:18:00) [23]2ЮЮ © Н-да.. тормознул.
2Ann Определитесь с задачей.
Соловьев (2003-04-24 10:16:00) [24]
> если добавляю поля
понятно... групировка же идет по всем полям...
Ann (2003-04-24 10:12:00) [25]хотя нет, дату выводит, но выводит все записи, если добавляю поля
Ann (2003-04-24 10:10:00) [26]выдает три записи, вместо одной, и дату вообще не выводит.. :(
Соловьев (2003-04-24 10:06:00) [27]в групировку надо включать все поля кроме агрегатных.
Ann (2003-04-24 10:05:00) [28]ругался на отсутствие группировки, с тремя полями прошло легко, а когда добавила еще 3 поля из 2-ой таблице опять ругается
запрос получился такой
SELECT
SPR.ART_ID,
SPR.NAME,
max(SPR_A.RDATA),
SPR_A.GOST,
SPR_A.EAN13,
SPR_A.DELETE_PR
FROM
SPRART SPR,
SPRARTP SPR_A
where (SPR_A.ART_ID=SPR.ART_ID)
group by spr.art_id, spr.name
а ругается так
invalid token
invalid column reference
Zacho (2003-04-24 09:44:00) [29]
> Ann © (24.04.03 09:41)
Ругается скорее всего не на MAX, а на отсутствие GROUP BY
P.S. Если хочешь получить вразумительный ответ - приводи подробную информацию, например текст сообщения об ошибке, а так только гадать остается.
Соловьев (2003-04-24 09:43:00) [30]:(
+
group by t1.art_num, t1.art_name
Ann (2003-04-24 09:41:00) [31]почему-то ругается на MAX
ЮЮ (2003-04-24 09:41:00) [32]Igor (24.04.03 09:34)
Соловьев © (24.04.03 09:35)
А где же GROUP BY ???
Соловьев (2003-04-24 09:35:00) [33]
select t1.art_num, t1.art_name, max(t2.date)
from table_art t1 join table_date t2 on t1.art_num=t2.art_num
Igor (2003-04-24 09:34:00) [34]Это не дает нужный результат?
select таблица1.номер_артикула, таблица1.наименование, max (таблица2. дата)
from таблица1,таблица2
where таблица1.номер_артикула=таблица2.номер_артикула
Johnmen (2003-04-24 09:34:00) [35]Приведи структуру таблиц и структуру результирующего НД.
Короче, схему входа-выхода...:)
ЮЮ (2003-04-24 09:33:00) [36]Строк нужно стольк, сколько в 1-ой таблице или сколько имеется во второй (по одной на артикул) ? И БД какая?