Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menggunakan tupel dalam klausa SQL IN

Diberikan tweak yang sangat kecil (ganti tanda kutip ganda dengan tunggal dan tambahkan VALUES kata kunci), sintaks yang Anda usulkan adalah sintaks SQL-92 Standar yang valid yaitu

SELECT *
  FROM mytable
 WHERE (group_id, group_type) IN (
                                  VALUES ('1234-567', 2), 
                                         ('4321-765', 3), 
                                         ('1111-222', 5)
                                 );

Sayangnya, MSFT belum menambahkannya ke SQL Server dan menganggapnya sebagai fitur 'tidak direncanakan'.

FWIW PostgreSQL dan Sqlite adalah contoh produk SQL yang mendukung sintaks ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat memasukkan nilai eksplisit untuk kolom identitas dalam tabel 'tabel' ketika IDENTITY_INSERT disetel ke OFF

  2. Perbaiki "SQL Server memblokir akses ke PERNYATAAN 'OpenRowset/OpenDatasource' dari komponen 'Kueri Terdistribusi Ad Hoc"

  3. Bagaimana cara membangun fungsionalitas RUNAS /NETONLY ke dalam program (C#/.NET/WinForms)?

  4. Batas SQL NVARCHAR dan VARCHAR

  5. ORDER BY item harus muncul dalam daftar pilih jika SELECT DISTINCT ditentukan