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

Chọn Bản ghi nhiều lần từ bảng

SELECT Location 
FROM Table1
  CROSS JOIN
    ( VALUES (1),(2),(3),(4)
    ) AS four(dummy)

Nếu 4 không phải là một hằng số nhưng (như @xQbert đã nhận thấy / đã hỏi) là số hàng của bảng, bạn có thể sử dụng điều này:

SELECT a.Location 
FROM Table1 AS a
  CROSS JOIN
     Table1 AS b

Nếu bạn không có Table1 nhưng bất kỳ truy vấn nào (tuy nhiên phức tạp), bạn có thể sử dụng truy vấn này cho 4 bản sao:

SELECT Location 
FROM (
       SELECT Location       --- complex query here
       ...                   --- inside parenthesis
     UNION 
       SELECT Country
       ...
     ) AS Table1
  CROSS JOIN
    ( VALUES (1),(2),(3),(4)
    ) AS four(dummy)

hoặc cái này cho n bản sao:

WITH cte AS
  ( SELECT Location       --- complex query here
    ...                   --- inside parenthesis
    UNION 
    SELECT Country
    ...
  )
SELECT a.Location 
FROM cte AS a
  CROSS JOIN
     cte AS b


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Danh sách tất cả các cột chỉ mục &chỉ mục trong SQL Server DB

  2. SQL Server v.Next:Hiệu suất STRING_AGG, Phần 2

  3. LEFT () so với SUBSTRING () trong SQL Server:Sự khác biệt là gì?

  4. Làm thế nào để xác định số ngày trong một tháng trong SQL Server?

  5. Cách sử dụng biến chuỗi trong câu lệnh sql