Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подставить значение 0 если нет данных во второй таблице / 25 сообщений из 54, страница 1 из 3
05.06.2018, 12:04
    #39655476
ZummeP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
Прописал следующий запрос:
select s.id, s.skucode, s.name, sum(l.units)
from sku s
left join loads l on l.sku_id = s.id
where s.skucode not like '%z%'
and l.real_loc_id >= 1
and l.status = 'A'
and warehouse_id = 0
group by s.id,
s.skucode,
s.name
Выдает след. инфо:
s.ID s.skucode s.name sum(l.units)
1 534 210w760 Имя 1 6614
2 551 211w320 Имя 2 150
Нужно что бы были еще нулевые значения если в таблице Loads значения s.id из таблицы sku отсутствуют.
Полистав информацию ничего не понял.
...
Рейтинг: 0 / 0
05.06.2018, 12:10
    #39655482
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummeP,
убрать в предикат LEFT JOIN
Код: sql
1.
2.
and l.real_loc_id >= 1
and l.status = 'A'
...
Рейтинг: 0 / 0
05.06.2018, 12:23
    #39655494
ZummeP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
TaPaK,

Мне немного не понятно, по этому перезадам свой вопрос следующим образом.
Мне нужно чтобы в столбце sum(l.units) было 0 если значений S.id в таблице Loads нет
...
Рейтинг: 0 / 0
05.06.2018, 12:25
    #39655495
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummeP,

SUM(ISNULL(l.units,0))
...
Рейтинг: 0 / 0
05.06.2018, 12:26
    #39655496
ZummeP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
TaPaK,

это я пробывал не подходит программа не знает данную функция SQL Developer
Version 6.0.0.840
...
Рейтинг: 0 / 0
05.06.2018, 12:28
    #39655499
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummePTaPaK,

это я пробывал не подходит программа не знает данную функция SQL Developer
Version 6.0.0.840

омг... NVL() и идите в правильную ветку
...
Рейтинг: 0 / 0
05.06.2018, 12:31
    #39655505
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummePTaPaK,

Мне немного не понятно, по этому перезадам свой вопрос следующим образом.
Мне нужно чтобы в столбце sum(l.units) было 0 если значений S.id в таблице Loads нетДля S.id, которых нет, Вы, однако, в WHERE требуете
Код: sql
1.
2.
and l.real_loc_id >= 1
and l.status = 'A'

Поэтому этих записей в результате SELECTа вообще не будет.
Так что сначала сделайте так, как Вам посоветовал TaPaK двумя постами выше.
...
Рейтинг: 0 / 0
05.06.2018, 13:21
    #39655547
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
TaPaKомг... NVL() и идите в правильную веткуCOALESCE. И пусть спрашивает, где удобно...
...
Рейтинг: 0 / 0
05.06.2018, 13:31
    #39655559
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
Щукина АннаTaPaKомг... NVL() и идите в правильную веткуCOALESCE. И пусть спрашивает, где удобно...
для вас и туалеты наверное не М/Ж а стоя и сидя
...
Рейтинг: 0 / 0
05.06.2018, 14:12
    #39655602
ZummeP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
Всю голову сломал ничего, не получается.
Он мне попросту не выдает значения ноль так как нет записей во второй таблице
...
Рейтинг: 0 / 0
05.06.2018, 14:18
    #39655609
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummePВсю голову сломал ничего, не получается.
Он мне попросту не выдает значения ноль так как нет записей во второй таблице1. До вас дошло, что вы про Oracle спрашиваете на форуме по MS SQL?
2. Не получается перенести условия из WHERE в ON LEFT JOINа, как вам советовали?
...
Рейтинг: 0 / 0
05.06.2018, 14:20
    #39655611
ZummeP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
iap,

То что не там спрашиваю я это понял,
и условия не получается перевести что то не так прописываю
...
Рейтинг: 0 / 0
05.06.2018, 14:23
    #39655614
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummeP,

и какой запрос получился?
...
Рейтинг: 0 / 0
05.06.2018, 14:27
    #39655623
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummeP,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select s.id, s.skucode, s.name, coalesce(sum(l.units),0)
  from sku s
  left join loads l on l.sku_id = s.id
                   and l.real_loc_id >= 1
                   and l.status = 'A'
 where s.skucode not like '%z%'
and warehouse_id = 0--Если это относится к loads - тоже надо перекинуть в джоин
group by s.id,
s.skucode,
s.name
...
Рейтинг: 0 / 0
05.06.2018, 14:27
    #39655624
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummePiap,

То что не там спрашиваю я это понял,
и условия не получается перевести что то не так прописываю
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select s.id, s.skucode, s.name, sum(nvl(l.units,0))
from sku s
left join loads l on l.sku_id = s.id and l.real_loc_id >= 1 and l.status = 'A'
where s.skucode not like '%z%'
and warehouse_id = 0
group by s.id,
s.skucode,
s.name

Если warehouse_id тоже в таблице loads , то и and warehouse_id = 0 тоже в ON перенести
...
Рейтинг: 0 / 0
05.06.2018, 14:29
    #39655627
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummeP,

кстати, надо ВСЕГДА писать алиас таблицы (для ясности и сокращения количества ошибок)
...
Рейтинг: 0 / 0
06.06.2018, 08:30
    #39656077
ZummeP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
Спасибо всем за помощь, но в итоге сделал все через макрос в Excel.
Но есть одно, в полученной таблице у меня есть единицы измерения (ЕИ) "UNIT", "UPAK" и "КГ" так же в соседней колонке есть "вес нетто"
Мне нужно чтобы в колонке кол-во при условии что ЕИ UPAK и КГ был вес нетто умноженный на кол-во.
Это то что я написал в макросе:
"select sku.id,sku.skucode,sku.name,sum(nvl(v_rs2_current_stock13d.qty,0)) qty,sku.uom,sku.weight_netto " & _
"from sku left join v_rs2_current_stock13d on v_rs2_current_stock13d.sku_id=sku.id and nvl(v_rs2_current_stock13d.warehouse_id, 100) not in (1, 2) " & _
"where nvl(v_rs2_current_stock13d.warehouse_id, 100) not in (1, 2) and sku.id>0 and ((upper(SUBSTR(trim(sku.skucode),4,1)) like '%W%' " & _
"or upper(SUBSTR(trim(sku.skucode),4,1)) like '%V%' " & _
"or upper(SUBSTR(trim(sku.skucode),4,1)) like '%R%' " & _
"and SUBSTR(sku.skucode,8,1) is null) or v_rs2_current_stock13d.qty>0) " & _
"group by sku.id,sku.skucode,sku.name,sku.uom,sku.weight_netto order by skucode;"
Получилось:
SKU Артикул Наименование товара кол-во ЕИ Вес нетто
133128 *w* Печенье 44 upak 5
Если кто то знает как это можно сделать то напишите пожалуйста пример если нет то будем выходит с помощь формул. и в дальнейшем через фильтрацию
...
Рейтинг: 0 / 0
06.06.2018, 08:36
    #39656082
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummeP,

Excel,конечно, MS
но не MS SQL.
...
Рейтинг: 0 / 0
06.06.2018, 09:00
    #39656096
ZummeP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
А возможно ли это сделать оператором CASE
...
Рейтинг: 0 / 0
06.06.2018, 09:03
    #39656097
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummeP,

конечно
...
Рейтинг: 0 / 0
06.06.2018, 09:15
    #39656105
ZummeP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
Посетитель,

не могли пример написать а то что то пока не могу разобраться по инфо в инете?
...
Рейтинг: 0 / 0
06.06.2018, 10:43
    #39656181
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
ZummeP,

пример оператора case?
легко

Код: sql
1.
case when x=y and z>5 then a*b else c end
...
Рейтинг: 0 / 0
06.06.2018, 10:51
    #39656188
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
TaPaKSUM(ISNULL(l.units,0))
Правильнее isnull(sum), а не sum(isnull).
...
Рейтинг: 0 / 0
06.06.2018, 11:06
    #39656207
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
Alibek B.TaPaKSUM(ISNULL(l.units,0))
Правильнее isnull(sum), а не sum(isnull).
какие ваши смешные доказательства этого бреда?
...
Рейтинг: 0 / 0
06.06.2018, 11:38
    #39656238
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подставить значение 0 если нет данных во второй таблице
Отключенные мозги — вот это смешно.
А указанная рекомендация — это логично.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подставить значение 0 если нет данных во второй таблице / 25 сообщений из 54, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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