Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwenden von Tupeln in der SQL IN-Klausel

Angesichts einer sehr geringfügigen Änderung (ersetzen Sie doppelte Anführungszeichen durch einfache und fügen Sie die VALUES hinzu Schlüsselwort), Ihre vorgeschlagene Syntax ist gültige Standard-SQL-92-Syntax, d. h.

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

Leider hat MSFT es nicht zu SQL Server hinzugefügt und betrachtet es als „ungeplantes“ Feature.

FWIW PostgreSQL und Sqlite sind Beispiele für SQL-Produkte, die diese Syntax unterstützen.