Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cần trợ giúp câu lệnh sql khó chịu

Bạn có thể chuyển đổi danh sách email của mình sang XML và sau đó truy vấn XML bằng cách sử dụng .nodes.value .

declare @T table
(
  ID int,
  Emails varchar(100)
)

insert into @T values
(1, '[email protected], [email protected]'),
(2, '[email protected], [email protected]')

select T.Email, count(*) as [Count]
from (
      select X.N.value('.',  'varchar(30)') as Email
      from @T
        cross apply (select cast('<x>'+replace(Emails, ', ', '</x><x>')+'</x>' as xml)) as T(X)
        cross apply T.X.nodes('/x') as X(N)
     ) as T
group by T.Email

Kết quả:

Email                          Count
------------------------------ -----------
[email protected]               1
[email protected]              2
[email protected]              1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bảng có hiệu suất kém khi chèn trong Thủ tục được lưu trữ của SQL Server

  2. Triển khai dự án cơ sở dữ liệu VS2010 - Nhiệm vụ SqlDeployTask không thành công đột ngột, NullReferenceException

  3. Giới hạn bản ghi bảng tạm thời trong máy chủ Sql

  4. Cách hoạt động của hàm SQL Server DIFFERENCE ()

  5. làm thế nào để chèn datetime vào bảng Cơ sở dữ liệu SQL?