Sql-Server
CONCAT_WS 上的列名無效
抱歉,如果這看起來很漫無邊際,我通常不是一個試圖解決問題的數據庫人員。
我有兩個表
cases
,legal_entity
這兩個表上的數據看起來像這樣
legal_entity
cases
我想要做的是將表中的
last_name
andfirst_name
欄位與它們之間的逗號組合,並將其與表中的欄位legal_entity
匹配(包含)。基本上上個月的一切。這是我正在使用的查詢style``cases
SELECT first_name, last_name, address_1_zip, CONCAT_WS(',', last_name,first_name) AS CombinedName FROM CPSQL.dbo.legal_entity AS LE INNER JOIN CPSQL.dbo.cases as C ON LE.CombinedName=C.style WHERE C.create_date >= Convert(datetime, '2021-03-01') AND C.create_date <= Convert(datetime, '2021-04-16') ORDER BY C.create_date
我遇到的問題是它似乎不喜歡 LE.CombinedName 所以我不確定如何針對案例表中的樣式列引用連接的字元串。
任何幫助將不勝感激。
您只能使用連接表中的列,或者在您的情況下使用它的連接版本
SELECT first_name, last_name, address_1_zip, CONCAT_WS(',', last_name,first_name) AS CombinedName FROM CPSQL.dbo.legal_entity AS LE INNER JOIN CPSQL.dbo.cases as C ON CONCAT_WS(', ', LE.last_name,LE.first_name)=C.style WHERE C.create_date >= Convert(datetime, '2021-03-01') AND C.create_date <= Convert(datetime, '2021-04-16') ORDER BY C.create_date
CREATE TABLE legal_entity ([first_name] varchar(7), [last_name] varchar(7), [address_1_zip] int) ; INSERT INTO legal_entity ([first_name], [last_name], [address_1_zip]) VALUES ('Maria', 'Munoz', 33122), ('John', 'Glenn', 10003), ('Melissa', 'Johnson', 90210) ;
CREATE TABLE cases ([style] varchar(22), [case_number] varchar(7), [create_date] varchar(23)) ; INSERT INTO cases ([style], [case_number], [create_date]) VALUES ('Munoz, Maria', 'SL12345', '2021-03-01 11:45:26.657'), ('Glenn, John', 'SL45678', '2021-03-02 12:10:14.552'), ('Johnson, Melissa (DNY)', 'SG42561', '2021-04-10 01:06:10.214') ;
SELECT first_name, last_name, address_1_zip, CONCAT_WS(',', last_name,first_name) AS CombinedName FROM legal_entity AS LE INNER JOIN cases as C ON CONCAT_WS(', ', LE.last_name,LE.first_name)=C.style WHERE C.create_date >= Convert(datetime, '2021-03-01') AND C.create_date <= Convert(datetime, '2021-04-16') ORDER BY C.create_date GO
名字 | 姓氏 | 地址_1_zip | 組合名稱 :--------- | :-------- | ------------: | :----------- 瑪麗亞 | 穆尼奧斯 | 33122 | 穆尼奧斯,瑪麗亞 約翰 | 格倫 | 10003 | 格倫,約翰
db<>在這裡擺弄
CREATE TABLE legal_entity ([first_name] varchar(7), [last_name] varchar(7), [address_1_zip] int) ; INSERT INTO legal_entity ([first_name], [last_name], [address_1_zip]) VALUES ('Maria', 'Munoz', 33122), ('John', 'Glenn', 10003), ('Melissa', 'Johnson', 90210) ; GO
CREATE TABLE cases ([style] varchar(22), [case_number] varchar(7), [create_date] varchar(23)) ; INSERT INTO cases ([style], [case_number], [create_date]) VALUES ('Munoz, Maria', 'SL12345', '2021-03-01 11:45:26.657'), ('Glenn, John', 'SL45678', '2021-03-02 12:10:14.552'), ('Johnson, Melissa (DNY)', 'SG42561', '2021-04-10 01:06:10.214') ; GO
SELECT first_name, last_name, address_1_zip, CONCAT_WS(',', last_name,first_name) AS CombinedName FROM legal_entity AS LE INNER JOIN cases as C ON PATINDEX( CONCAT( LE.last_name,', ',LE.first_name,'%'),C.style) > 0 WHERE C.create_date >= Convert(datetime, '2021-03-01') AND C.create_date <= Convert(datetime, '2021-04-16') ORDER BY C.create_date GO
名字 | 姓氏 | 地址_1_zip | 組合名稱 :--------- | :-------- | ------------: | :-------------- 瑪麗亞 | 穆尼奧斯 | 33122 | 穆尼奧斯,瑪麗亞 約翰 | 格倫 | 10003 | 格倫,約翰 梅麗莎 | 約翰遜 | 90210 | 約翰遜,梅麗莎
db<>在這裡擺弄