Мне нужно получить информацию из двух таблиц, как показано ниже, но сдвигом, так что в настоящее время они выполняют в основном один и тот же запрос 4 раза, 2 раза для каждой смены. Для первой смены они захватывают все картонные номера, которые НЕ EQUAL для DELC, и второй запрос для всех картонов EQUAL для DELC. Проблема в том, что мы хотим отличные картонные номера, и если картон был обработан в первой смене и закончил вторую смену, даже несмотря на то, что мы делаем разницу, коробка отображается дважды, потому что она отличается только для каждого запроса.SQL Distinct Mulitple Query Combine
Есть ли способ запустить ВСЕ 4 запроса вместе и сделать отчетливым по всем данным?
1 Day old 1st shift = DELC
select count(distinct a.Barcode)
from [RL_Ship].[dbo].[mSCAN] as a inner join
[RL_Ship].dbo].wmsInboundQueue] on
a.barcode = substring(message,26,20)
Where BagToteFlag = 'Y' and direction = 'Send'
and timeStamp >= '2016-06-14 03:00:00'
and timeStamp < '2016-06-14 15:00:00'
and substring(message,64,4) = 'DELC'
and SUBSTRING(rawdata,21,20) > '0'
1 Day old 1st shift <> DELC
select count(distinct a.Barcode)
from [RL_Ship].[dbo].[mSCAN] as a inner join
[RL_Ship].dbo].wmsInboundQueue] on
a.barcode = substring(message,26,20)
Where a.BagToteFlag = 'Y' and a.direction = 'Send'
and a.timeStamp >= '2016-06-14 03:00:00'
and a.timeStamp < '2016-06-14 15:00:00'
and substring(message,64,4) <> 'DELC'
and SUBSTRING(rawdata,21,20) > '0'
1 Day old 2nd shift = DELC
select count(distinct a.Barcode)
from [RL_Ship].[dbo].[mSCAN] as a inner join [RL_Ship].[dbo].
[wmsInboundQueue] on
a.barcode = substring(message,26,20)
Where a.BagToteFlag = 'Y' and a.direction = 'Send'
and a.timeStamp >= '2016-06-14 15:00:00'
and a.timeStamp < '2016-06-15 03:00:00'
and substring(message,64,4) = 'DELC'
and SUBSTRING(rawdata,21,20) > '0'
1 Day old 2nd shift <> DELC
select count(distinct a.Barcode)
from [RL_Ship].[dbo].[mSCAN] as a inner join [RL_Ship].[dbo].
[wmsInboundQueue] on
a.barcode = substring(message,26,20)
Where a.BagToteFlag = 'Y' and a.direction = 'Send'
and a.timeStamp >= '2016-06-14 15:00:00'
and a.timeStamp < '2016-06-15 03:00:00'
and substring(message,64,4) <> 'DELC'
and SUBSTRING(rawdata,21,20) > '0'
Хотя вам не нужен внешний выбор, поскольку UNION выполняет отдельное объединение, все они сохранили бы все результаты. – xQbert
Да, но это даст мне уникальный счет каждого запроса? Мне нужно получить число/количество для каждого из 4 отдельных запросов. Но, как я уже сказал, если в первом запросе есть штрих-код, я не хочу, чтобы он подсчитал второй запрос, если в этих данных отображается штрих-код. – JMills
и я пробовал это, и это не сработало? – JMills