sql >> Databasteknik >  >> RDS >> Sqlserver

Använda tupler i SQL IN-sats

Givet en mycket liten justering (ersätt dubbla citattecken med enkla och lägg till VALUES nyckelord), är din föreslagna syntax giltig Standard SQL-92-syntax, dvs.

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

Tyvärr har MSFT inte lagt till det i SQL Server och betraktar det som en "oplanerad" funktion.

FWIW PostgreSQL och Sqlite är exempel på SQL-produkter som stöder denna syntax.



  1. Är en CASE-sats och en DECODE ekvivalenta?

  2. Hur man skapar VARRAYs som PL/SQL-blockmedlem i Oracle Database

  3. Stöder SQL Server CLR Integration konfigurationsfiler?

  4. Populära Docker-bilder för MySQL och MariaDB Server