Sql запрос не дает желаемого результата
Select UsrMain.Name,UsrMain.DefaultSalesOrg,csslogicalunit.userlu , case when count(CssRplOutboundPackageInfo.Id)='' then 0 else count(CssRplOutboundPackageInfo.Id) end as "Initial Package Count" from CssRplOutboundPackageInfo left join UsrMain On UsrMain.Pkey=CssRplOutboundPackageInfo.UsrMainPKey left join csslogicalunit on csslogicalunit.pkey = usrmain.csslogicalunitpkey where CssRplOutboundPackageInfo.WorkState='Initial' and UsrMain.id= 'T89387' group by UsrMain.Name,UsrMain.DefaultSalesOrg,csslogicalunit.userlu
Приведенный выше запрос не дает желаемого результата.
Я хочу напечатать начальное количество пакетов как ноль, когда оно равно нулю.Я получаю этот результат, но когда я пытаюсь напечатать столбцы, такие как UsrMain.Name,UsrMain.DefaultSalesOrg,csslogicalunit.userlu,начальное количество пакетов не приближается к нулю, т. е. он не будет отображать никакого результата.
Мой вопрос заключается в том, как я могу напечатать эти столбцы, даже если их количество равно нулю.
Что я уже пробовал:
Я попытался использовать команду declare.Но я не получаю результата..
Пожалуйста, ответьте на него как можно скорее.
Naga Sindhura
Таблица UsrMain находится в левом соединении. Однако вы использовали UsrMain.id= 'T89387' находится в предложении where, что означает, что код внутренне рассматривает это как внутреннее соединение/ соединение, и одна из причин-CssRplOutboundPackageInfo.WorkState='Initial' не имеет никаких записей, если это так, то вам нужно переписать код, пометив CssRplOutboundPackageInfo в левом соединении.