Datha
Datha

Reputation: 725

How to select rows from table that matches where clause on two columns?

How to select rows from table that matches where clause on two columns? I came up with below query. Please advice if there is better way with less text.

SELECT name, number 
FROM namenumber 
WHERE name IN (“Car”) AND number = “1234"
UNION 
SELECT name, number 
FROM namenumber 
WHERE name IN ("Train") AND number = "5678"
UNION 
SELECT name, number 
FROM namenumber 
WHERE name IN ("Flight") AND number = "9012";

Upvotes: 0

Views: 37

Answers (2)

p3consulting
p3consulting

Reputation: 4670

SELECT name, number FROM namenumber 
WHERE (name, number) IN ( 
    (“Car”,“1234"), ("Train", "5678"), ("Flight", "9012") 
) ;

Upvotes: 2

Nikita Chayka
Nikita Chayka

Reputation: 2135

Could be just like this this

    SELECT name, number FROM namenumber 
         WHERE (name in (“Car”) and number = “1234") OR 
               (name in ("Train") and number = "5678") OR 
               (name in ("Flight") and number = "9012")

Upvotes: 0

Related Questions