![]() |
|
![]() ![]() ![]() |
|
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
vj;tyj ИВУ пофик что за запрос его же MySQL выполняет -------------------- Кольцов Виктор Владимирович |
|||
|
||||
begin |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
порылся - в MySQL действительно нужно использовать If вместо Decode. С учетом этого запрос будет выглядеть так:
Что такое of1..of3? Это какие то временные переменные для промеждуточного хранения количества найденных полей? Как мне получить доступ к суммам? Ведь, например, к полю code я получаю доступ так:
|
||||||
|
|||||||
Kbl4AH |
|
||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
это алиасы полей... поле будет называться так как ты его в вопросе выбираешь, например, if(id_ffice,1,count(code),0), но это неудобно и для него пишут алиас (типа псевдоним в удобной форме)... для алиас исользуется слово as, т.е
будет ошибка, т.к. вложенный запрос возвращает поле с именем sum(a), а вышесто\щий запрос воспринимает его не как название поля, а как операцию суммирования над полем а (которое даже подзапросом и не возвращается)... поэтому надо юзать алиас и делать так
запрос лучше напиши так (добавь алиасы, чтоб не было проблем при модификации запроса; т.е. перед написанием запроса надо решить какие поля он будет возвращать, а реализация может быть разная... в твоем случае возвращает код и какую-то инфу для списка офисов... соответсвенные алиасы и используй)...
если поле code у тебя 1-е, то поле of1 соответственно будет 2-м...
Но обращаться к полю по номеру не рекомендую... лучше обращаться по имени!!! Это сообщение отредактировал(а) Kbl4AH - 13.3.2009, 15:52 |
||||||||||||||
|
|||||||||||||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
нифигасе вы тут намутили
![]() |
|||
|
||||
begin |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
сделал как посоветовали, с алиасами, уже готовый для использования запрос:
но при выполнении запроса выдает ошибку:
где же ошибка? чувствую, что неправильно использую конструкцию if в запросе ![]() |
||||
|
|||||
Kbl4AH |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
тебе посветовали не так, а так
неужели?! а в нете позыркать как правильно использовать? ты с MySQL работаешь!!! я с ней не работаю и в глаза не видел...
|
||||
|
|||||
begin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
Исправил конструкцию if (стояла запятая вместо знака "равно") и добавил алиасы:
и все равно выдает ту же ошибку ![]() |
|||
|
||||
Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
ну, я уже не знаю, чем тебе помочь... потому что запрос - работающий!!! 1) перед добавлением запроса в Query ты очищаешь предыдущий ....SQL.Clear? 2) проверь запрос на работоспособность в SQL с константой вмесо праметра txt. 3) пля, тока щас заметил... begin, ты хоть немного думаешь? Тебя же спросили, что запрос должен возвращать... вообще-то, подзапрос не возвращает поля name и price... так что нельзя их выбрать из подзапроса!!! ![]() |
|||
|
||||
begin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 415 Регистрация: 16.5.2007 Репутация: нет Всего: нет |
оказалось, ошибка в самой конструкции if
![]() Моя MySQL почему то не понимала такую конструкцию. Пришлось сделать так, и все заработало:
|
|||
|
||||
Zloxa |
|
||||||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: нет Всего: 161 |
ребят, чота вы шибка перемудрили
Аггрегат можно считать по выражению
Или я чота недопонял? ЗЫ. Я вот давно хотел спросить у когото, кто использует конструкцию типа
Почему нельзя просто:
Это сообщение отредактировал(а) Zloxa - 15.3.2009, 00:27 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
||||||
|
|||||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
Zloxa, посмотри предыдущие темы там во многих случаях именно так. Это как кому нравится. ![]() -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
Данкинг |
|
||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Дело привычки. Я и так тоже делаю:
![]() -------------------- There's nothing left but silent epitaphs. |
||||
|
|||||
Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
Zloxa, я раньше делал с Add, т.к. мне так показали, но потом понял, что так неудобно и теперь только Text использую...
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |