我有一個表的設置如下:SQL訂單價值
+---------------+
| resources |
+---------------+
| id |
| name |
+---------------+
+-------------------+
| resource_subjects |
+-------------------+
| resource_id |
| subject_id |
+-------------------+
我需要做的是建立其發現兩個資源之間共享的對象的數目的查詢。
所以有resource_subjects表是這樣的:
+---------------------------+
| resource_id | subject_id |
+---------------------------+
| resource1 | 1 |
| resource1 | 2 |
| resource1 | 3 |
| resource1 | 4 |
| resource1 | 5 |
| resource2 | 1 |
| resource2 | 2 |
| resource2 | 3 |
| resource3 | 1 |
| resource3 | 4 |
+---------------------------+
我想這個查詢給我這樣的:
+----------------------------------------------------------+
| first_resource | second_resource | shared_subjects_count |
+----------------------------------------------------------+
| resource1 | resource2 | 3 |
| resource1 | resource3 | 2 |
| resource2 | resource3 | 1 |
+----------------------------------------------------------+
要跨的想法,僞代碼在我頭部會讀取類似:
選擇
id
ASfirst_resource
,id
ASsecond_resource
,COUNT(受試者 數first_resource和second_resource在resource_subjects表之間共享)ASshared_subjects_count
ORDER BY shared_subjects_count DESC
如果任何人都可以提供一個示例查詢,或者甚至點我在正確的方向那d太棒了。
感謝
RESOURCE_ID是在我的情況一個int,我只是用資源1,資源2等的可讀性(應該澄清)。謝謝你的回答,很有魅力。 – Paul 2011-02-23 10:08:53