Я пытаюсь сделать так, чтобы мой запрос выбора извлек количество элементов, которые существуют в обеих таблицах, в одном столбце и количество элементов, которые существуют только в одной таблице. Эти два запроса предоставляют мне данные, которые мне нужны, но я бы хотел, чтобы они поступали из одного запроса. Заранее спасибо.

select 
d.description, 
count(pd.item_id) 
from productdetails pd 
join inventory i on i.itemnum=pd.item_id 
inner join departments d on d.dept_id=i.dept_id 
where i.last_sold is not null and i.in_stock !=0 and len(i.itemnum) >4 and d.DEPT_ID NOT IN ('1010','1010c','1010cc','1010h','1010h','1011','1012','1013','1014','1015','1016','1017','1018','1015p','1015d','1015s','1015u','1251','1401','2000') 
group by d.description

select d.description, 
count(pd.item_id) 
from productdetails pd 
join inventory i on i.itemnum=pd.item_id 
inner join departments d on d.dept_id=i.dept_id 
group by d.description

Желаемый результат:

enter image description here

1
Parsa Moshiri 9 Фев 2021 в 19:35

1 ответ

Лучший ответ

Вы можете комбинировать операторы SUM и IIF для достижения своей цели:

select  d.description, 
        count(pd.item_id),
        SUM(IIF(i.last_sold is not null and i.in_stock !=0 and len(i.itemnum) >4 and d.DEPT_ID NOT IN ('1010','1010c','1010cc','1010h','1010h','1011','1012','1013','1014','1015','1016','1017','1018','1015p','1015d','1015s','1015u','1251','1401','2000'), 1, 0))
from productdetails pd 
join inventory i on i.itemnum=pd.item_id 
inner join departments d on d.dept_id=i.dept_id 
group by d.description
1
Rom Eh 9 Фев 2021 в 16:48