[英]SQL joining with the same table
我有一個帶有 EVENT_ID 列的表,它有多個針對這個 event_id 的條目,然后有 event_name 列。 所以我的要求是,如果 event_name 是 finalized_Event 並且在傳遞的 event_ids 中,我需要選擇一對 event-name 和最終事件記錄,否則忽略該 event_id,有什么方法可以將所有查詢組合到一個 SQL 中。
Select * from EVENT where EVENT_ID in ('0cbe3a81-8102-4eee-b8ef-07485f58cf0a','42b47725-4cc3-4620-9051-652d5409e69a','6e1b73d1-2f20-410c-80d2-89b0ccfde473')
and
( select * from EVENT where EVENT_NAME = 'FinalisedEvent' and (EVENT_NAME = 'CreatedEvent' or EVENT_NAME = 'DeletdEvent'))
你想要這樣的東西:
SELECT e1.*
FROM EVENT e1
INNER JOIN EVENT e2
ON e1.EVENT_ID = e2.EVENT_ID
AND (e2.EVENT_NAME = 'CreatedEvent' OR e2.EVENT_NAME = 'DeletdEvent')
WHERE e1.EVENT_ID in ('0cbe3a81-8102-4eee-b8ef-07485f58cf0a','42b47725-4cc3-4620-9051-652d5409e69a','6e1b73d1-2f20-410c-80d2-89b0ccfde473')
AND e1.EVENT_NAME = 'FinalisedEvent'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.