powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Условие Where
8 сообщений из 8, страница 1 из 1
Условие Where
    #40102513
Ablaykhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, у меня есть вот такой вот запрос:

Код: sql
1.
2.
3.
4.
5.
SELECT 
SUM(PAYEDCUR) AS [Сумма продажи]
, COUNT(CHECKNUMBE) AS [Количество чеков]
FROM [db-1c-03].[POS].[dbo].[CASHPAY]
WHERE CASHNUMBER NOT LIKE '2'



Когда я добавляю еще одно условие

Код: sql
1.
2.
3.
4.
5.
SELECT 
SUM(PAYEDCUR) AS [Сумма продажи]
, COUNT(CHECKNUMBE) AS [Количество чеков]
FROM [db-1c-03].[POS].[dbo].[CASHPAY]
WHERE CASHNUMBER NOT LIKE '2' AND PAYEDCUR NOT LIKE '%-%'



У меня сумма продажи начинает ломаться

Как сделать так чтобы второе условие которое я добавил не влияло на [Сумма продажи].
Подскажите пожалуйста.
Может надо обернуть в subquerie?
Заранее спасибо за ответ
...
Рейтинг: 0 / 0
Условие Where
    #40102516
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Товарищи ученые! У меня в подполе происходит подземный стук. Объясните, пожалуйста, от чего он происходит?

Условие меняет выборку => меняется сумма.
Чего ты хочешь, страдалец?
Чуда?
...
Рейтинг: 0 / 0
Условие Where
    #40102518
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дурь какая-то. SUM(PAYEDCUR) явно намекает, что поле числовое, а PAYEDCUR NOT LIKE '%-%' столь же явно считает его строковым...
...
Рейтинг: 0 / 0
Условие Where
    #40102520
Ablaykhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

Я знаю что условие меняет выборку. Мой вопрос, можно ли прописать два условия которые не будут менять выборку друг друга?
Для особо умных, разъясняю.
...
Рейтинг: 0 / 0
Условие Where
    #40102521
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ablaykhan
aleks222,

Я знаю что условие меняет выборку. Мой вопрос, можно ли прописать два условия которые не будут менять выборку друг друга?
Для особо умных, разъясняю.

Для сверх-разума, объясняю на пальцах:
1. Один запрос, одно WHERE = одно условие.
2. Надо разные условия - надо писать разные запросы.
...
Рейтинг: 0 / 0
Условие Where
    #40102522
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
Дурь какая-то. SUM(PAYEDCUR) явно намекает, что поле числовое, а PAYEDCUR NOT LIKE '%-%' столь же явно считает его строковым...

Это ж мелочи. "Искуственный интеллект" схавает. Ну, т.е. приведет типы.
И отрицательные числа будут отфильтрованы.

ЗЫ. Ты бы до такого даже додуматься не смог. Сверхразум на марше.
...
Рейтинг: 0 / 0
Условие Where
    #40102567
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ablaykhan
Как сделать так чтобы второе условие которое я добавил не влияло на [Сумма продажи].
Перенесите его внутрь агрегата:
Код: sql
1.
COUNT(case when PayedCur >= 0 then 1 end) AS [Количество чеков]


Ну и конечно да, вам стоит пересмотреть свою методику работы с данными. Реляционные СУБД - это не эксель.

ЗЫ: Надеюсь, поле PayedCur не может содержать NULL. Иначе придется чутка по-другому извращаться.
...
Рейтинг: 0 / 0
Условие Where
    #40102634
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ablaykhan,

вам бы для начала надо разобраться - что такое числа, строки, какие бывают типы данных и какими функциями их можно обрабатывать. Заодно понять - что такое предикат и какие в T-SQL бываю предикативные выражения. Т.е. начать с самых азов.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Условие Where
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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