我正在使用由每個人的唯一標識符鏈接的多個表的數據。具有邏輯功能的SQL GROUP BY
假設一個名爲Eventstab的表包含一個ID列表,並且每當該事件發生在該ID時,它就會列出該ID旁邊的事件。讓我們稱之爲「買土豆」,「從椅子上掉下來」,「看電影」。
所以Eventstab看起來
ID | Event
----------------------
200 | fell off a chair
200 | bought potato
200 | fell off a chair
500 | bought potato
所以,你可以看到 - 編號200摔下椅子,500沒有。
此事件表包含主數據中ID的SUBSET的數據。我們可以得出結論,如果一個ID出現在主數據中,但沒有出現在Eventstab中,他們從不會從椅子上掉下來。
SELECT id, event
FROM thedatums
JOIN Eventstab ON id
WHERE ...
我感興趣的是找到,每個人的數據集,他們是否曾經跌落椅子:
以上信息可以像查詢恢復。 I.E是否事件='脫離主席'爲該ID。
更具體地說,我想要一個變量,我會打電話'is_a_dimwit',等於1,如果ID EVER在Eventstab中有一個'掉下椅子'的記錄,否則爲0。
所以,在我的腦海它
SELECT
id,
CASE
WHEN event = 'fell off chair' THEN 1
ELSE 0
END AS 'is_a_dimwit'
FROM
thedatums
JOIN
Eventstab ON id
編輯:有,在那裏重複多的ID記錄「跌下椅子」
不過,我想每個ID是唯一我的數據集和這個'is_a_dimwit'變量來衡量這個人是否已經從我擁有的數據中脫離椅子。
我的問題是雙重的:我該如何去尋找一個可能的答案呢?更好,你會如何解決它?
我很困惑。 。 。哪些表有哪些數據?樣本數據和期望的結果真的有助於澄清你想要做什麼。 –
我試圖改寫,並更具體 –