powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / При построении запроса у меня возникла проблема.
8 сообщений из 8, страница 1 из 1
При построении запроса у меня возникла проблема.
    #32062239
SOS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOS
Гость
Здравствуте.
При построении запроса у меня возникла проблема.
Выводятся лишние данные. Вернее я хочу, чтобы при выдоде результата данные card_number
были уникальными (не повторялись) Но на деле у меня иначе.

Подскажите пожалуйста что я делаю не так.

Вот запрос.

select DISTINCT talks.card_number, sum(talks.take_money) as account, part_number,
case when take_money < cards.money then 'В использовании' else
case when talks.take_money > cards.money then 'Переполнение' else
case when talks.take_money = cards.money then 'Пустая' end end end as status
from talks
left join cards on (talks.card_number >= cards.begin_number and talks.card_number <= cards.end_number)
where talks.operator_code = cards.operator_code
group by talks.card_number, talks.take_money,cards.col_in_part,cards.money,cards.part_number



Вот результат запроса.
card_number account part_number status
----------------------------------------------------- ----------------------------------------------------- ----------- ---------------
68.0 92.0 1 В использовании
51456.0 147.0 3 В использовании
51456.0 210.0 3 В использовании
51456.0 315.0 3 В использовании
51456.0 693.0 3 В использовании
59648.0 63.0 3 В использовании
91136.0 63.0 3 В использовании
97280.0 522.0 3 В использовании
139520.0 63.0 3 В использовании
139520.0 105.0 3 В использовании
376576.0 63.0 3 В использовании
435200.0 63.0 3 В использовании
435200.0 261.0 3 В использовании
497920.0 63.0 3 В использовании
641536.0 63.0 3 В использовании
5473280.0 126.0 3 В использовании
8273152.0 126.0 3 В использовании
12531456.0 105.0 3 В использовании
12531456.0 252.0 3 В использовании
14077440.0 126.0 3 В использовании


Заранее благодарен.

Андрей.
...
Рейтинг: 0 / 0
При построении запроса у меня возникла проблема.
    #32062247
flatron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
агрегировать по всем остальным стобцам...
а не только account
...
Рейтинг: 0 / 0
При построении запроса у меня возникла проблема.
    #32062257
SOS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOS
Гость
Прошу прощения, но я немного не понял что делать нужно.
Нельзя ли немного подробнее.

Спсибо.
...
Рейтинг: 0 / 0
При построении запроса у меня возникла проблема.
    #32062261
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный у вас какой-то синтаксис запроса. Distinct с group by, да еще sum(talks.take_money) при наличии group by talks.take_money

Объясните лучше, что у вас за таблицы, какие в них данные и что вы хотите получить в результате запроса.
...
Рейтинг: 0 / 0
При построении запроса у меня возникла проблема.
    #32062296
SOS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOS
Гость
В таблице cards сведения о зарегистрированных картах.
В talks записи о разговорах по этим картам.
Вот я и хочу написать запрос о том по каким картам какой трафик был сделан, сравнить его с лимитом и так далее.

Спасиьбо за внимание к моей проблеме.
...
Рейтинг: 0 / 0
При построении запроса у меня возникла проблема.
    #32062354
flatron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насчет кэйсов не уверен :), но...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select 
	talks.card_number, 
	sum(talks.take_money) as account, 		
	case 
		when sum(talks.take_money) < cards.money then 'В использовании' 
		when sum(talks.take_money) > cards.money then 'Переполнение' 
		when sum(talks.take_money) = cards.money then 'Пустая' 
	end as status 
from 
	talks 
	left join ...
where ...
group by talks.card_number

...
Рейтинг: 0 / 0
При построении запроса у меня возникла проблема.
    #32062367
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select t.card_number, t.account, c.part_number, 
case when t.take_money < c.money then 'В использовании' 
       when talks.take_money > cards.money when 'Переполнение'
     else  'Пустая' end as status 
from (select t.card_number, sum(t.take_money) as account
        from talks t
        group by t.card_number) t 
         left join cards c 
         on t.operator_code = c.operator_code AND
         t.card_number betwen c.begin_number and c.end_number
...
Рейтинг: 0 / 0
При построении запроса у меня возникла проблема.
    #32062372
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардонс...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select tg.card_number, tg.account, c.part_number, 
case when t.take_money < c.money then 'В использовании' 
       when talks.take_money > cards.money when 'Переполнение'
     else  'Пустая' end as status 
from (select card_number, sum(take_money) as account
      from talks 
      group by card_number) tg 
           JOIN talks t on tg.card_number=t.card_number
       left join cards c 
       on t.operator_code = c.operator_code AND
       t.card_number betwen c.begin_number and c.end_number
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / При построении запроса у меня возникла проблема.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]