Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
Добрый всем вечер!
Помогите плиз решить задачку!
Есть 3 таблицы table1, table2, table3
table1 основная таблица, остальные две справочкники.
В table1 след.поля id, doc_id (поле может быть пустым), sum, date, pos_id -таблица платежей
В table2 след.поля doc_id, name - таблица видов платежей
В table3 след.поля pos_id, name - таблица оплачивающих
Выбрать надо платежи за определенный период, в случае если поле doc_id пустое вывести "Отсутствует". Результаты сгруппировать по датам (на каждое число), видам платежей и тем кто оплатил.
У меня получилось токо это и то почему то с пустым doc_id не выдаются записи.
Делала группировку по дате
group by table1.date
выдается ошибка
Столбец "table1.sum" недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY.
Вот что получилось у меня
select table1.date,
table1.sum,
table2.name,
table3.name
from table1, table2, table3
where (date>='01.07.2009 0:00:00' and date<='30.07.2009 0:00:00')
and (table2.doc_id=table1.doc_id)
and (table3.pos_id=table1.pos_id)
22 июл 09, 22:35    [7447954]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Привалова Надежда,

В подробном описании не хватает фото автора
22 июл 09, 22:43    [7447982]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
а че помогаете с фоткой токо?
22 июл 09, 22:45    [7447995]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
kapelan
Member

Откуда: хутор БольшойБугор
Сообщений: 722
Привалова Надежда
почему то с пустым doc_id не выдаются записи.

please see OUTER JOIN

Привалова Надежда
Результаты сгруппировать по датам (на каждое число)

select convert (VARCHAR(30),getdate(),106)
22 Jul 2009

GROUP BY convert (VARCHAR(30),date_field,106)
22 июл 09, 22:53    [7448031]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
А для чего конвертировать дату?
22 июл 09, 22:55    [7448050]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
kapelan
Member

Откуда: хутор БольшойБугор
Сообщений: 722
'2009-07-22' !='2009-07-22 23:59' !='2009-07-22 23:58' ....
22 июл 09, 22:58    [7448071]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
Можно поподробней? Я не понимаю вас kapelan!
22 июл 09, 22:59    [7448080]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Привалова Надежда
Можно поподробней? Я не понимаю вас kapelan!
Фотка - это как для экстрасенсов. Чтобы проникнуться флюидами, так сказать...
22 июл 09, 23:10    [7448124]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
kapelan
Member

Откуда: хутор БольшойБугор
Сообщений: 722
Привалова Надежда
Можно поподробней? Я не понимаю вас kapelan!

вам надо выводить данные с шагом в секунду?
22 июл 09, 23:14    [7448148]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
Не о смеха мне щас! Лучше помоги!
22 июл 09, 23:14    [7448152]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
kapelan,
да.
22 июл 09, 23:16    [7448164]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Вот это
Привалова Надежда
Вот что получилось у меня
select table1.date,
table1.sum,
table2.name,
table3.name
from table1, table2, table3
where (date>='01.07.2009 0:00:00' and date<='30.07.2009 0:00:00')
and (table2.doc_id=table1.doc_id)
and (table3.pos_id=table1.pos_id)
Не совсем стыкуется с этим
автор
Выбрать надо платежи за определенный период, в случае если поле doc_id пустое вывести "Отсутствует". Результаты сгруппировать по датам (на каждое число), видам платежей и тем кто оплатил.
Как группировать по полю sum -непонятно ни мне, ни серверу.
22 июл 09, 23:19    [7448186]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
Senya_L,
а мне не надо группировать по сумме
22 июл 09, 23:22    [7448203]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Привалова Надежда
Senya_L,
а мне не надо группировать по сумме
Да? И если по...

Обождите-ка.... Я в Вашем запросе сразу не увидел. Там даже GROUP BY нет и в помине. Неее, увольте. Почитайте, поучитесь. А еще лучше - сюда, с предложением денежного вознаграждения. Раз фотку предоставлять не хотите :P
22 июл 09, 23:28    [7448230]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
Senya_L,
ну что ж дело ваше, жаль
22 июл 09, 23:38    [7448264]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Привалова Надежда
Senya_L,
ну что ж дело ваше, жаль
Просто мне хорошо известно, какая это морока разбираться в постановке задачи, когда автор сам не понимает чего хочет. Не жалеть надо, а учиться. Садитесь, два! :)
22 июл 09, 23:58    [7448327]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
Senya_L,
В задаче не сказано про группировку времени, как же я могу что-то добавить к этому?
23 июл 09, 00:02    [7448335]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
Вернее про гурппировку суммы ничего не сказано
23 июл 09, 00:12    [7448353]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
ansi
Member

Откуда: страна дураков
Сообщений: 1223
select table1.date as 'Дата',
sum(table1.sum) as 'Сумма',
isnull(table2.name,'Отсутствует') as 'Вид платежа',
table3.name as 'Кто оплатил'
from table1, table2, table3
where date between '2009-07-01' and '2009-07-30'
and (table2.doc_id=table1.doc_id)
and (table3.pos_id=table1.pos_id)
group by table1.date,isnull(table2.name,'Отсутствует'),table3.name

Считается, что даты без времени
23 июл 09, 00:28    [7448402]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
ansi,
выдает след.ошибку
Типы данных text, ntext и image нельзя сравнивать и сортировать, за исключением случаев использования оператора IS NULL или LIKE.
23 июл 09, 08:06    [7448632]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Ох...ий программизд
Guest
Привалова Надежда

выдает след.ошибку
Типы данных text, ntext и image...

А где из вашего вопроса было видно, что там были поля указанных типов?

Дайте скрипты создания таблиц; заполнение их тестовыми данными: запрос, который вы написали и что именно вы хотите получить.
Вопрос-то сформулируйте и вам сразу помогут.
23 июл 09, 08:17    [7448648]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Привалова Надежда
ansi,
выдает след.ошибку
Типы данных text, ntext и image нельзя сравнивать и сортировать, за исключением случаев использования оператора IS NULL или LIKE.
Это что же получается, или table2.name или table3.name - типа TEXT???
23 июл 09, 08:56    [7448710]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
iap,
Да эти поля имеют тип Text
23 июл 09, 09:41    [7448922]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Привалова Надежда
iap,
Да эти поля имеют тип Text
Не представляю себе название (имя) чего-либо длиной в 2 миллиарда символов.
У меня просто нет воображения?

Версия-то сервера хоть какая?
23 июл 09, 09:52    [7448984]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом с группировкой и условием!!!  [new]
Привалова Надежда
Member

Откуда:
Сообщений: 18
iap,
MS SQL 2005
23 июл 09, 10:30    [7449209]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить