Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос


Страницы:   1 2

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-ой таблице или сколько имеется во второй (по одной на артикул) ? И БД какая?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо