【发布时间】:2018-04-21 17:51:32
【问题描述】:
我目前正在尝试制作一个视图,以显示购买汽车(新车或二手车)的客户的名称,并且当客户名称为 NULL 时需要显示“NA”。
IF OBJECT_ID ('V_PrixSuperieurMoyenne','V') IS NOT NULL
DROP VIEW V_PrixSuperieurMoyenne;
GO
CREATE VIEW V_PrixSuperieurMoyenne
AS
(
SELECT
CS.[State],
CI.ListPrice,
CI.CarInventoryID,
COALESCE(CONCAT(C.Name, ' ', C.FirstName), 'NA') AS 'Nom du Client',
(
SELECT AVG(CI.ListPrice)
FROM CarInventory CI
INNER JOIN CarState CS ON CS.CarStateID = CI.CarStateID
WHERE CS.State = 'New'
) AS 'Prix Moyen Neuf'
FROM
CarInventory CI
INNER JOIN CarState CS ON CS.CarStateID = CI.CarStateID
LEFT JOIN Invoice I ON I.CarInventoryID = CI.CarInventoryID
LEFT JOIN Client C ON C.ClientID = I.ClientID
GROUP BY
CS.State,
CI.ListPrice,
CI.CarInventoryID,
CONCAT(C.Name , ' ', C.FirstName)
)
GO
SELECT *
FROM V_PrixSuperieurMoyenne
ORDER BY 1,2
GO
这是我的代码,但是当我尝试运行代码时,COALESCE 似乎不起作用,当名称为 NULL 时,它只显示一个空字符串。我需要它显示“NA”。
【问题讨论】:
标签: subquery concat coalesce isnull