Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> select Sum(count) from Table where _name='fedor', и в случае, если fedor-a там не окажется 
:(
    Опции темы
x77
Дата 29.9.2003, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: нет
Всего: 22



2 Cashey, а я тебе о чём говорю? smile.gif)

сравни с моим запросом: select alias_name."fieldname" from table_name alias_name.

на твой первый запрос она ругается, т.к. table - это token. я же не говорил, что надопрямо так и писать smile.gif кстати, можно и таблицу создать с именем table, а обращаться к ней вот так: select * from "table".


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
x77
Дата 29.9.2003, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: нет
Всего: 22



и ваще... таблицы, поля... главное - кавычки! smile.gif


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Гость_Vasya
Дата 29.9.2003, 19:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да уж, извинете, count - это название поля , его конечно следовало бы назвать иначе.


Цитата

Oracle: если count - название поля, то select nvl(sum(count),0) from from Table where _name='fedor' вернёт 0, даже если фёдора нет

База в Access. В моей проге приходиться проверять поле count(smile.gif) на NULL-ость, иногда много раз, и если бы sql в случае отсутсвия fedor-a возвращал ноль , то эта проверка отпала бы... Вот такие пироги .....
  Вверх
x77
Дата 29.9.2003, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: нет
Всего: 22



вот это пробовал - select Sum(T."count") from Table T where T."_name"='fedor' ?
и через что ты работаешь с аксессом?


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Гость_Vasya
Дата 29.9.2003, 20:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

вот это пробовал - select Sum(T."count") from Table T where T."_name"='fedor' ?
и через что ты работаешь с аксессом?


Попробовал. Не вышло. А с базой я общаюсь через ADO:

ADOQuery.ConnectionString := Provider=Microsoft.Jet.OLEDB.4.0;.....................;
  Вверх
Cashey
Дата 29.9.2003, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Дело в том, что запрос в Access не возвращает ноль в случае не отработки запроса, т.е. таже хрень, что и в Фоксе (кто-то удивлен smile.gif ), только ситуация осугубляется тем, что Access ко всему прочему не позволяет писать скрипты. Могу посоветовать добавить обязательную запись в таблизу со значением _name = 'fedor' и count = 0. В этом случае, если других федоров, нет вернется 0. А если потребуется подсчитать количество записей, тогда потребуется чуть-чуть подкорректировать запрос на
Код
select count(*)-1
from tabl1
where tabl1."_name" = 'fedor'



--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Vit
Дата 30.9.2003, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Цитата
Да уж, извинете, count - это название поля , его конечно следовало бы назвать иначе.


Цитата

Oracle: если count - название поля, то select nvl(sum(count),0) from from Table where _name='fedor' вернёт 0, даже если фёдора нет

База в Access. В моей проге приходиться проверять поле count(smile.gif) на NULL-ость, иногда много раз, и если бы sql в случае отсутсвия fedor-a возвращал ноль , то эта проверка отпала бы... Вот такие пироги .....

Ты попробовал сделать как я советовал? Должно работать хоть под MS Access, хоть под чем хочешь


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Unregistered
Дата 30.9.2003, 09:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











2 Vit:

Ругается - неизвестная функция NVL ...
  Вверх
Cashey
Дата 30.9.2003, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Цитата
2 Vit:

Ругается - неизвестная функция NVL ...

Ты че...confused.gifconfused.gif? Прикидываешьсяconfused.gifconfused.gif NVL - это ф-ция Oracle, а сказано что работают в Access
Vit совсем про другое говорил
Цитата
"count" - у вас это название поля? Если да, то добавить ещё одну запись вида

NullField 0

и квери переделать:

select Sum(count) from Table where _name='fedor' or _name='NullField'

То же, что и я говорил, только более универсально.


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Гость_Vasya
Дата 30.9.2003, 09:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

Ты че...? Прикидываешься


Я надеялся smile.gif)
  Вверх
Unregistered
Дата 30.9.2003, 09:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

QUOTE 
"count" - у вас это название поля? Если да, то добавить ещё одну запись вида

NullField 0

и квери переделать:

select Sum(count) from Table where _name='fedor' or _name='NullField'




Так я и сделал.
  Вверх
Cashey
Дата 30.9.2003, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Цитата
QUOTE 

Ты че...? Прикидываешься



Я надеялся )

Ладно, извини, вскипел (как самовар) smile.gif
Цитата
QUOTE 

QUOTE 
"count" - у вас это название поля? Если да, то добавить ещё одну запись вида

NullField 0

и квери переделать:

select Sum(count) from Table where _name='fedor' or _name='NullField'





Так я и сделал.

Ну и где здесь NVL???


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1076 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.