ALTER PROCEDURE Transform.usp_CustomerInfo
AS
BEGIN
TRUNCATE TABLE [Transform].[CustomerInfo]
INSERT INTO [Transform].[CustomerInfo] (CustomerName, Total, AvgPurchaseTime, StoreName)
SELECT
CASE
WHEN C.LastName = NULL THEN C.FirstName
ELSE (C.LastName + ', ' + C.FirstName)
END AS 'Name',
SUM(T.Total),
D.FullDate,
UPPER(C.StoreName) AS 'Store Name'
FROM
[Extract].[DimTransaction] AS T
JOIN
[Extract].[DimCustomer] AS C ON T.CustomerID = C.CustomerID
JOIN
[Extract].[DimState] AS S ON C.StateID = S.StateID
JOIN
[Extract].[DimDateTime] AS D ON D.DateTimeID = T.TransactionID
GROUP BY
C.LastName, C.FirstName, D.FullDate, C.StoreName
ORDER BY
Convert(date, D.FullDate, 101) ASC
Я пытаюсь получить его там, где, если фамилия приходит NULL, чтобы использовать только первое имя, то я хочу, чтобы сцепить Фамилия и Имясаз внутри SELECT,
никогда ничего 'равно NULL'. И ничто никогда не будет равно NULL. Вместо этого вам нужно использовать 'IS NULL' и' IS NOT NULL'. – MatBailie
Может быть, вы могли бы попробовать 'IS NULL' вместо' = NULL' –