|
Плз (!!!) подскажите знающие люди ошибку в запросе
|
|||
---|---|---|---|
#18+
Предельно простой запрос, но не могу понять почему не пропускает fox 9. Подскажите пожалуйста, если видите ошибку! Исх. данные: табл 1 (назовем t1) интересуют поля: код карточки(id_k), количество(kol) табл 2 (назовем t2) интересует поля: код карточки(id_k),код ок (id_ok) В первой табличке нужно просуммировать количество (kol) по одинаковым кодам карточек и в результирующей таблице присовокупить к нему код ок (id_ok) из второй таблички. дополнительное условие: в таблице t1 есть поле даты (date_), месяц из которого должен быть равен определенному условию. вот мой запрос: SELECT t1.id_k,sum(t1.id_k) as kol,t2.id_ok ; FROM t1 LEFT JOIN t2 ON t1.id_k=t2.id_k; WHERE MONTH(t1.date_) = m ; GROUP BY t1.id_k ; INTO cursor curs_; ORDER BY t2.id_ok Fox ругается на GROUP BY. Для большего понимания - вот пример табличек и желаемого результата: m=3 t1: id_k kol date_ 2 10 10.03.2010 3 5 01.03.2010 2 1 05.03.2010 4 3 12.02.2010 3 5 13.03.2010 2 20 01.01.2010 t2: id_k id_ok 4 1233 2 1010 3 8877 5 9999 Результат: id_k kol id_ok 2 11 1010 3 10 8877 Подскажите плз, где же что я напортачила !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2010, 14:18 |
|
Плз (!!!) подскажите знающие люди ошибку в запросе
|
|||
---|---|---|---|
#18+
Читайте Help про Group by (синтаксис изменился). На Фоксклубе есть русский Help. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2010, 14:26 |
|
Плз (!!!) подскажите знающие люди ошибку в запросе
|
|||
---|---|---|---|
#18+
Все не агрегатные функции в селект должны быть перечисленны в групбай т.е. это t1.id_k и t2.id_ok ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2010, 14:32 |
|
Плз (!!!) подскажите знающие люди ошибку в запросе
|
|||
---|---|---|---|
#18+
help_me_Предельно простой запрос, но не могу понять почему не пропускает fox 9. Подскажите пожалуйста, если видите ошибку! Исх. данные: табл 1 (назовем t1) интересуют поля: код карточки(id_k), количество(kol) табл 2 (назовем t2) интересует поля: код карточки(id_k),код ок (id_ok) В первой табличке нужно просуммировать количество (kol) по одинаковым кодам карточек и в результирующей таблице присовокупить к нему код ок (id_ok) из второй таблички. дополнительное условие: в таблице t1 есть поле даты (date_), месяц из которого должен быть равен определенному условию. вот мой запрос: SELECT t1.id_k,sum(t1.id_k) as kol,t2.id_ok ; FROM t1 LEFT JOIN t2 ON t1.id_k=t2.id_k; WHERE MONTH(t1.date_) = m ; GROUP BY t1.id_k ; INTO cursor curs_; ORDER BY t2.id_ok Fox ругается на GROUP BY. Для большего понимания - вот пример табличек и желаемого результата: m=3 t1: id_k kol date_ 2 10 10.03.2010 3 5 01.03.2010 2 1 05.03.2010 4 3 12.02.2010 3 5 13.03.2010 2 20 01.01.2010 t2: id_k id_ok 4 1233 2 1010 3 8877 5 9999 Результат: id_k kol id_ok 2 11 1010 3 10 8877 Подскажите плз, где же что я напортачила !!! Во второй табличке id_k-является уникальным полем или скажем могут быть например такие записи t2: id_k id_ok 4 1233 2 1010 3 8877 5 9999 4 .... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2010, 14:40 |
|
|
start [/forum/topic.php?fid=41&msg=36557919&tid=1585447]: |
0ms |
get settings: |
14ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 355ms |
total: | 486ms |
0 / 0 |