Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.15;
Скачать: CL | DM;

Вниз

SQL Запрос выводит пустоту   Найти похожие ветки 

 
DelphiN!   (2008-07-24 12:11) [0]

Всем доброго времени суток!
Хочу вывести минимальную, максимальную и среднюю выручку по датам для клиентов тип которых Card User, однако если добавляю условие проверки типа клиента, запрос выводит пустоту, хотя такие клиенты в БД 100% есть.
В чем может быть дело?


select distinct(cast(time_ as date)) DATE_,min(summ_),avg(summ_),max(summ_)
from casebase MAIN where (prim_ <> "Login activated")
and (prim_ <> "Login deactivated")and(time_ >= "01.07.2008")and
((select type_ from users where cardno_ = main.cardno_) = "Card User")
group by 1
order by 1


 
Медвежонок Пятачок ©   (2008-07-24 12:15) [1]

запрос выводит пустоту, хотя такие клиенты в БД 100% есть.

1000 % что нет


 
DelphiN!   (2008-07-24 12:17) [2]


> Медвежонок Пятачок ©   (24.07.08 12:15) [1]


:) Клиенты со значением в поле Users.type_ равным "Card User" - есть!


 
stas ©   (2008-07-24 12:19) [3]

Поочереди отключи каждое условие и узнаешь что неправильно.


 
Медвежонок Пятачок ©   (2008-07-24 12:19) [4]

Но у тебя запрос-то не такой
select * from clients where Users.type_ = "Card User"


 
DelphiN!   (2008-07-24 12:20) [5]


> stas ©   (24.07.08 12:19) [3]
>
> Поочереди отключи каждое условие и узнаешь что неправильно.
>


А я знаю какое не правильно, я его выделил жирным ((select type_ from users where cardno_ = main.cardno_) = "Card User") но вот  как сделать правильно, не знаю ...


 
Медвежонок Пятачок ©   (2008-07-24 12:22) [6]

а зачем Card User снаружи скобок


 
stas ©   (2008-07-24 12:24) [7]

выбери одного юзера, который точно вернет твой запрос без этого условия и выполни отдельно запрос, что он вернул?
select type_ from users where cardno_ = юзер


 
Медвежонок Пятачок ©   (2008-07-24 12:24) [8]

and
((select type_ from users where cardno_ = main.cardno_) = "Card User")


and exists(select null from users where cardno_ = main.cardno_ and тип = "Card User")


 
DelphiN!   (2008-07-24 12:24) [9]


> Медвежонок Пятачок ©   (24.07.08 12:19) [4]
>
> Но у тебя запрос-то не такой
> select * from clients where Users.type_ = "Card User"


По моему предположению
В основном запросе при прохождении каждого пользователя делается под запрос ((select type_ from users where cardno_ = main.cardno_) = "Card User"), который в свою очередь находит текущего пользователя(из основного запроса) в таблице Users и возвращает его тип, а основной запрос сравнивает, соответствует ли этот тип необходимому.
Но к сожалению мое предположение не является верным, а как его сделать верным я не знаю ... :(


 
Медвежонок Пятачок ©   (2008-07-24 12:25) [10]

а как его сделать верным я не знаю ... :(

Знаешь, но не признаешься. Надо выучить язык запросов


 
DelphiN!   (2008-07-24 12:28) [11]


> stas ©   (24.07.08 12:24) [7]

> выбери одного юзера, который точно вернет твой запрос без
> этого условия и выполни отдельно запрос, что он вернул?
> select type_ from users where cardno_ = юзер


Он вернул "Card User"


> Медвежонок Пятачок ©   (24.07.08 12:24) [8]
>
> and
> ((select type_ from users where cardno_ = main.cardno_)
> = "Card User")
>
> and exists(select null from users where cardno_ = main.cardno_
> and тип = "Card User")


Заработало!!! Спасибо всем большущее!!!


 
sniknik ©   (2008-07-24 12:34) [12]

> делается под запрос ((select type_ from users where cardno_ = main.cardno_) = "Card User")
простой join в явном виде будет и быстрее и нагляднее...

select *
from casebase с
INNER JOIN users u ON c.cardno_ = u.cardno_
WHERE u.type_ = "Card User"

возвращает данные? а убрать условие в WHERE?

+
distinct(cast(time_ as date))
нафиг не нужен, раз у тебя по этому полю группировка, оно и так будет уникально по значениям.



Страницы: 1 вся ветка

Текущий архив: 2009.03.15;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.02 c
8-1192288746
hahol_64_rus
2007-10-13 19:19
2009.03.15
работа с плейлистами


6-1200673788
Михаил (Питер)
2008-01-18 19:29
2009.03.15
ICMP запросы и перевод сетевой карты в режим прослушивания


2-1232454342
AnatoliyV
2009-01-20 15:25
2009.03.15
HTML в RES файл


2-1233040920
RUBEY
2009-01-27 10:22
2009.03.15
Скрыть форму


2-1232609493
Ruslan777
2009-01-22 10:31
2009.03.15
Как в TreeView сделать выделенным NODE по его StateIndex-у?