带有筛选列的联合查询中的空值

时间:2016-10-27 16:18:56

标签: sql-server

我创建SQL查询以计算项目数量 问题:我想通过StorageID从查询中选择查看所有项目 从查询中执行数据时查看具有数字交易的项目& Out和其他项目在所有字段中都有空值

这是我的查询



Select
PurchaseInvoice.StorID AS StoID,
PurchaseInvoice.DocDate AS DocDate,
PurchaseInvoice.DocTrans AS DocTrans,
items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
P.ItemCode AS ItemCode,
P.ItemName AS ItemName,
P.Price AS Price,
P.Qty AS QtyIN,
0 AS QtyOut
From PurchaseInvoice2 P
INNER JOIN PurchaseInvoice ON P.DocID=PurchaseInvoice.DocID
INNER JOIN Items ON P.ItemCode=Items.itemcode
UNION
Select
PurchaseInvoice3.StorID AS StoID,
PurchaseInvoice3.DocDate AS DocDate,
PurchaseInvoice3.DocTrans AS DocTrans,
items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
PP.ItemCode AS ItemCode,
PP.ItemName AS ItemName,
PP.Price AS Price,
0 AS QtyIN,
PP.Qty AS QtyOut
From PurchaseInvoice4 PP
INNER JOIN PurchaseInvoice3 ON PP.DocID=PurchaseInvoice3.DocID
INNER JOIN Items ON PP.ItemCode=Items.itemcode
UNION
Select
SalesInvoice.StorageID AS StoID,
SalesInvoice.DocDate AS DocDate,
SalesInvoice.DocTrans AS DocTrans,
items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
S.ItemCode AS ItemCode,
S.ItemName AS ItemName,
S.Price AS Price,
0 AS QtyIN,
S.Qty AS QtyOut
From SalesInvoice2 S
INNER JOIN SalesInvoice ON S.DocID=SalesInvoice.DocID
INNER JOIN Items ON S.ItemCode=Items.itemcode
UNION
Select
SalesInvoice3.StorageID AS StoID,
SalesInvoice3.DocDate AS DocDate,
SalesInvoice3.DocTrans AS DocTrans,
items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
SS.ItemCode AS ItemCode,
SS.ItemName AS ItemName,
SS.Price AS Price,
SS.Qty AS QtyIN,
0 AS QtyOut
From SalesInvoice4 SS
INNER JOIN SalesInvoice3 ON SS.DocID=SalesInvoice3.DocID
INNER JOIN Items ON SS.ItemCode=Items.itemcode
UNION
Select
StorageIN.StorageID AS StoID,
StorageIN.DocDate AS DocDate,
StorageIN.DocTrans AS DocTrans,
Items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
STIN.ItemCode AS ItemCode,
STIN.ItemName AS ItemName,
STIN.PurchasePrice AS Price,
STIN.Qty AS QtyIN,
0 AS QtyOut
From StorageIN2 STIN
INNER JOIN StorageIN ON STIN.DocID=StorageIN.DocID
INNER JOIN Items ON STIN.ItemCode=Items.itemcode
UNION
Select
StorageMortal.StorageID AS StoID,
StorageMortal.DocDate AS DocDate,
StorageMortal.DocTrans AS DocTrans,
Items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
SMR.ItemCode AS ItemCode,
SMR.ItemName AS ItemName,
SMR.PurchasePrice AS Price,
0 AS QtyIN,
SMR.Qty AS QtyOut
From StorageMortal2 SMR
INNER JOIN StorageMortal ON SMR.DocID=StorageMortal.DocID
INNER JOIN Items ON SMR.ItemCode=Items.itemcode
UNION
Select
StorageOut.StorageID AS StoID,
StorageOut.DocDate AS DocDate,
StorageOut.DocTrans AS DocTrans,
Items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
SO2.ItemCode AS ItemCode,
SO2.ItemName AS ItemName,
SO2.PurchasePrice AS Price,
0 AS QtyIN,
SO2.Qty AS QtyOut
From StorageOut2 SO2
INNER JOIN StorageOut ON SO2.DocID=StorageOut.DocID
INNER JOIN Items ON SO2.ItemCode=Items.itemcode
UNION
Select
StorageStart.StorageID AS StoID,
StorageStart.DocDate AS DocDate,
StorageStart.DocTrans AS DocTrans,
Items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
SST2.ItemCode AS ItemCode,
SST2.ItemName AS ItemName,
SST2.PurchasePrice AS Price,
SST2.Qty AS QtyIN,
0 AS QtyOut
From StorageStart2 SST2
INNER JOIN StorageStart ON SST2.DocID=StorageStart.DocID
INNER JOIN Items ON SST2.ItemCode=Items.itemcode
UNION
Select
StorageStart.StorageID AS StoID,
StorageStart.DocDate AS DocDate,
StorageStart.DocTrans AS DocTrans,
Items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
SST2.ItemCode AS ItemCode,
SST2.ItemName AS ItemName,
SST2.PurchasePrice AS Price,
SST2.Qty AS QtyIN,
0 AS QtyOut
From StorageStart2 SST2
INNER JOIN StorageStart ON SST2.DocID=StorageStart.DocID
INNER JOIN Items ON SST2.ItemCode=Items.itemcode
UNION
Select
StoragesTrans1.FromS AS StoID,
StoragesTrans1.DocDate AS DocDate,
StoragesTrans1.DocTrans AS DocTrans,
Items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
STT2.ItemCode AS ItemCode,
STT2.ItemName AS ItemName,
STT2.PurchasePrice AS Price,
0 AS QtyIN,
STT2.Qty AS QtyOut
From StoragesTrans2 STT2
INNER JOIN StoragesTrans1 ON STT2.DocID=StoragesTrans1.DocID
INNER JOIN Items ON STT2.ItemCode=Items.itemcode
UNION
Select
StoragesTrans1.ToS AS StoID,
StoragesTrans1.DocDate AS DocDate,
StoragesTrans1.DocTrans AS DocTrans,
Items.SupplierID as SupID,
Items.GroupID AS GroupID,
Items.SeasonID As SeaID,
STT22.ItemCode AS ItemCode,
STT22.ItemName AS ItemName,
STT22.PurchasePrice AS Price,
STT22.Qty AS QtyIN,
0 AS QtyOut
From StoragesTrans2 STT22
INNER JOIN StoragesTrans1 ON STT22.DocID=StoragesTrans1.DocID
INNER JOIN Items ON STT22.ItemCode=Items.itemcode




我需要帮助

0 个答案:

没有答案