Маска выбора SQLITE, как включить дубликаты в качестве - PullRequest
0 голосов
/ 18 июня 2020

У меня есть такой запрос, и я хотел бы вернуть все значения в случае IN с соответствующим количеством строк.

SELECT id, name, age from USERS WHERE id IN (1,75 , 75);

возвращает

1 | john | 25

75 | Sam | 30

, однако я хочу

1 | john | 25

75 | Sam | 30

75 | Sam | 30

возможно ли такое в sql? Буду признателен, если у вас есть решение для этого.

Спасибо

1 Ответ

1 голос
/ 18 июня 2020

Вместо этого можно использовать join:

select u.*
from (select 1 as id union all select 75 union all select 75) i join
     users u
     on u.id = i.id;

В более кратком формате используется values():

with i(id) as (
      values (1), (75), (75)
)
select u.*
from i join
     users u
     on u.id = i.id;
...