我需要將3個表連接到一個表。這是場景。如何將3個表連接到SQL中的單個表中
表1:已user_id說明,APP_ID
表2:已user_id說明,性別
表3:已APP_ID,APP_NAME(PC,移動電話)
表4:已user_id說明,user_city
現在我正在尋找通過移動男性,移動女性,PC男性,PC女性按城市分組的用戶數。
這是我的SQL。但是,我想我對聯接做錯了。請糾正我。
SELECT
t4.user_city,
sum(case when t2.gender = 'm' and t3.app_name = 'PC' then 1 else 0 end) pcmale,
sum(case when t2.gender = 'f' and t3.app_name = 'PC' then 1 else 0 end) pcfemale,
sum(case when t2.gender = 'm' and t3.app_name = 'Mobile' then 1 else 0 end) mobilemale,
sum(case when t2.gender = 'm' and t3.app_name = 'Mobile' then 1 else 0 end) mobilefemale,
FROM
table1 t1
inner join
table2 t2 on t1.user_id = t2.user_id
inner join
table3 t3 on t1.app_id = t3.app_id
inner join
table4 t4 on t1.user_id = t4.user_id
GROUP BY 1
我們可以按照我在查詢中完成的方式將多個表連接到單個表中。請幫忙
它運行。我只是不確定我是否正確地做出了正確的結果。您是否發現將多個表連接到t1表的任何問題? – 2014-11-25 01:18:22
移動女性應該檢查f,你正在檢查m和組應該在t4.user_city – radar 2014-11-25 01:25:17
那麼你會得到什麼結果? – DeanOC 2014-11-25 01:43:00