我的查詢遇到問題。我的表中的 group by 陳述句有“域”我收到錯誤:
錯誤 207,級別 16,狀態 1,無效的列名“域”。
如果我在沒有域的情況下執行此操作,則沒有問題。
select email, stuff(email, 1, charindex('@', email) , '') as domain
FROM [dbo].[Testdatabase]
group by email,domain
這背后的想法是每個電子郵件都有一個域名。
uj5u.com熱心網友回復:
你能試試這個嗎:
select email, stuff(email, 1, charindex('@', email) , '') as domain
FROM [dbo].[Testdatabase]
group by email,stuff(email, 1, charindex('@', email) , '')
uj5u.com熱心網友回復:
我希望您對 SQL 中的執行順序有所了解。SELECT子句將在GROUP BY子句之后執行。所以,別名還沒有應用。撰寫如下查詢:
select email, stuff(email, 1, charindex('@', email) , '') as domain
FROM [dbo].[Testdatabase]
group by email, stuff(email, 1, charindex('@', email) , '')
uj5u.com熱心網友回復:
謝謝@Beso的快速幫助。我也找到了另一個解決方案,它是這樣的:
select email, domain FROM [dbo].[Testdatabase] cross apply ( select stuff(email, 1, charindex('@', email) , '') as domain) alias group by email,domain
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/336012.html
