簡體   English   中英

SQL 連接同一個表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM