у меня есть это:Показать как одни и те же столбцы с другим типом
use [VERPLOEGEN-NAV2009-LIVE]
SELECT V.No_, VPL.[Location Code],V.Name,
SUM(VPL.Amount) AS Total,
V.[Freight-free Limit]
-- ISNULL(CAST(V.[Freight-free Limit] AS VARCHAR(10)), 'geen waarde')
FROM [Verploegen POC$Purch_ Inv_ Line] VPL
JOIN [Verploegen POC$Vendor] V
ON VPL.[Buy-from Vendor No_] = V.No_
--WHERE [Buy-from Vendor No_] = '3929' -- is empty??' --'3932' --'3929' --'3923' --'3904' --'3885' --'3820' --'3894'
WHERE VPL.[Buy-from Vendor No_] = '3929'
AND VPL.Type = 1 AND ([Posting Date] BETWEEN '2016-01-01' AND '2016-12-31')
GROUP BY VPL.[Location Code], V.[Freight-free Limit], V.No_, V.Name --, VPL.[Direct Unit Cost]
ORDER BY V.Name
И есть СВОЙСТВА: VPL.Type = 1, но у вас есть один и те же СВОЙСТВА с type=2
. Но в результатах я хочу показать оба свойства, поэтому с типом = 1 и с type =2
. Поскольку Всего type = 1
отличается тогда Всего type = 2.
Результат с type = 1
выглядит так:
3929 AM ASF Fischer BV 20.89000000000000000000 350.00000000000000000000
3929 DB ASF Fischer BV -0.29000000000000000000 350.00000000000000000000
3929 DL ASF Fischer BV 0.34000000000000000000 350.00000000000000000000
3929 RD ASF Fischer BV 20.06000000000000000000 350.00000000000000000000
3929 ZM ASF Fischer BV 0.04000000000000000000 350.00000000000000000000
Так Как сделать дополнительный столбец с типом = 2?
Спасибо
Если я это сделать:
use [VERPLOEGEN-NAV2009-LIVE]
SELECT V.No_, VPL.[Location Code],V.Name,
SUM(VPL.Amount) AS Total,
SUM(VPL.Amount) as total2,
V.[Freight-free Limit]
-- ISNULL(CAST(V.[Freight-free Limit] AS VARCHAR(10)), 'geen waarde')
FROM [Verploegen POC$Purch_ Inv_ Line] VPL
JOIN [Verploegen POC$Vendor] V
ON VPL.[Buy-from Vendor No_] = V.No_
--WHERE [Buy-from Vendor No_] = '3929' -- is empty??' --'3932' --'3929' --'3923' --'3904' --'3885' --'3820' --'3894'
WHERE VPL.[Buy-from Vendor No_] = '3929'
AND VPL.Type = 1 AND ([Posting Date] BETWEEN '2016-01-01' AND '2016-12-31')
GROUP BY VPL.[Location Code], V.[Freight-free Limit], V.No_, V.Name --, VPL.[Direct Unit Cost]
ORDER BY V.Name
, как результат этого:
3929 AM ASF Fischer BV 20.89000000000000000000 20.89000000000000000000 350.00000000000000000000
3929 DB ASF Fischer BV -0.29000000000000000000 -0.29000000000000000000 350.00000000000000000000
3929 DL ASF Fischer BV 0.34000000000000000000 0.34000000000000000000 350.00000000000000000000
3929 RD ASF Fischer BV 20.06000000000000000000 20.06000000000000000000 350.00000000000000000000
3929 ZM ASF Fischer BV 0.04000000000000000000 0.04000000000000000000 350.00000000000000000000
Но Total и total2 имеют теперь одинаковые значения
Вы имеете в виду, как это ?
use [VERPLOEGEN-NAV2009-LIVE]
SELECT V.No_, VPL.[Location Code],V.Name,
sum(case when Type =1 then 1 else 0 end)As type1sum,
sum(case when Type =2 then 1 else 0 end)As type2sum,
V.[Freight-free Limit]
-- ISNULL(CAST(V.[Freight-free Limit] AS VARCHAR(10)), 'geen waarde')
FROM [Verploegen POC$Purch_ Inv_ Line] VPL
JOIN [Verploegen POC$Vendor] V
ON VPL.[Buy-from Vendor No_] = V.No_
--WHERE [Buy-from Vendor No_] = '3929' -- is empty??' --'3932' --'3929' --'3923' --'3904' --'3885' --'3820' --'3894'
WHERE VPL.[Buy-from Vendor No_] = '3929'
AND ([Posting Date] BETWEEN '2016-01-01' AND '2016-12-31')
GROUP BY VPL.[Location Code], V.[Freight-free Limit], V.No_, V.Name --, VPL.[Direct Unit Cost]
ORDER BY V.Name
выход:
3929 AM ASF Fischer BV 4 39 350.00000000000000000000
3929 DB ASF Fischer BV 4 67 350.00000000000000000000
3929 DL ASF Fischer BV 8 128 350.00000000000000000000
3929 RD ASF Fischer BV 4 36 350.00000000000000000000
3929 ZM ASF Fischer BV 1 10 350.00000000000000000000
Но где я должен поставить сумму (количество), то?
Спасибо. Я редактирую сообщение – SavantCode
@SavantCode: я обновил, это даст вам две суммы на основе значения vpltype – TheGameiswar
Спасибо! Очень хорошо – SavantCode