我正在處理一個看似複雜的問題。不幸的是,我不是SQL專家,所以我無法確定這個問題的一個有效的,通用的解決方案。根據兩列的所有組合檢索數據的有效方法是什麼?
要添加一些上下文,我正在處理MySQL表中的車輛碰撞數據。碰撞表具有以下屬性:id,日期時間,發生的狀態以及車輛在事故發生時的天氣和位置。天氣和位置是數值,相應的描述在單獨的表格中給出。
由於某些格式問題,我剛剛截取了我正在使用的示例表的截圖。
崩潰數據表
天氣說明表
碰撞位置說明表
我想得到每種汽車天氣和位置組合的碰撞情況的數量。例如,如果有8個天氣條件和8個崩潰位置,那麼我希望獲得64個結果,天氣&位置組合以及該組合的死亡人數。
組合可能性
目前我已經試過這樣做,但順序是太慢了。這裏是我目前正與查詢:
SELECT locationDescriptionTable.type as Location,
weatherDescirptionTable.type as AtmCond,
count(c.casenum) as Cases
FROM state AS stateTable,
data_all AS crashDataTable,
nm_location AS locationDescriptionTable,
atm_cond AS weatherDescirptionTable
WHERE crashDataTable.statenum = stateTable.id AND
crashDataTable.nmlocat = locationDescriptionTable.id AND
crashDataTable.atmcond = weatherDescirptionTable.id AND
locationDescriptionTable.id ="crashLocationName" AND
weatherDescirptionTable.id ="weatherConditionName"
我已經想過這個了很多,使用加入或意見,這個分離出到不同的查詢。但是我沒有運氣。任何幫助是極大的讚賞!
另外,我正在與user: srr合作,所以可能會有來自該帳戶的回覆。
CROSS JOIN ...... – 2014-11-24 04:55:22