select id, bossid
from employees
where id in (22299, 22299)
id |bossid
22299|20529
我想
id |bossid
22299|20529
22299|20529
有沒有一種方法,使數據庫返回的結果也是這樣嗎?
select id, bossid
from employees
where id in (22299, 22299)
id |bossid
22299|20529
我想
id |bossid
22299|20529
22299|20529
有沒有一種方法,使數據庫返回的結果也是這樣嗎?
使用union作爲
select id, bossid
from employees
where id = 22299
UNION
select id, bossid
from employees
where id = 22299
一種方法是使用union all
:
select id, bossid
from employees
where id in (22299)
union all
select id, bossid
from employees
where id in (22299);
另一個用途join
這可能看起來像:
select e.id, e.bossid
from employees e join
(select 22299 as id union all select 22299
) ids
on e.id = ids.id;
或者,只是使用cross join
:
select e.id, e.bossid
from employees e join
(select 1 as n union all select 2
) ids;
這是如何衡量的?我有超過300個個人ID,我需要SQL才能返回bossids。 – acecabana
這些ID從哪裏來?如果來自表格,那麼只需使用'join'。如果沒有,那麼你爲什麼關心重複? –
你爲什麼要這個? – Erik
@Erik我需要找出數據庫中每個id事件的bossid。例如,ID 22299取得了3個事件。我正在研究與成就有關的問題,並做到這一點,我需要老闆的ID。陪伴身份證。希望這是有道理的。 – acecabana
如果您在查詢中包含achievement-id,您將獲得全部3條記錄。如果沒有使返回值唯一的東西,則不會獲得同一行的多個副本。 – Erik