0
假設我有一張表,我們稱之爲SQL Server中的代表用戶購買的購買表。在SQL Server中如何從類似於歷史記錄的表中獲取一些有意義的數據?
Table name: purchase
purchase_id buyer_member_id song_id
1 101 1001
2 101 1002
3 102 1001
4 102 1003
5 103 1001
6 103 1003
7 103 1004
現在我試着從這張表中做出一些統計。我想知道是誰購買了兩首歌曲1001和1003
select distinct buyer_member_id from purchase where
buyer_member_id in (select buyer_member_id from purchase where song_id = 1001)
and buyer_member_id in (select buyer_member_id from purchase where song_id = 1003)
這個工作,但是當我們添加越來越多的標準方程,它變得越來越慢。幾乎不可能做一些類似的研究,找到購買a,b和c但不是d和f的人。據我瞭解,這個性質和用途「,其中someid中(從表,其中一些選擇someid)可能不是做的最好辦法。
的問題是,有沒有更好的辦法?
謝謝!我不知道這個關鍵詞有幫助! – shawhu