看板 Database 關於我們 聯絡資訊
簡單來說, 只要看rating這個table select * from rating a where not exists ( select * from rating b where b.item = a.item and b.username <> a.username ) 我是憑想像寫的...請測看看...0rz ※ 引述《pcstar (亮光)》之銘言: : 我用的是MS SQL Server 2005 : 抱歉標題的問題可能不夠清楚 @@ : 目前有下列兩個資料表item和rating : 想要從中篩選出使用者間沒有被共同評分過的項目 : 該如何寫select條件式呢 : item用來紀錄被評分的項目 : rating用紀錄使用者對項目的評分 : 並已建立一個檢視表Corating 表示使用者間皆評分過的項目 : 三張表示意如下 : [Item] : item itemname : ==== ======== : 1 aaaa : 2 bbbb : 3 cccc : 4 dddd : [Rating] : username item rate : ======== ==== ==== : A 1 3 : A 2 4 : B 1 5 : B 3 5 : [Corating] View : user1 user2 item : ===== ===== ==== : A B 1 : B A 1 : 如何利用這兩個資料表和一個檢視表找出: : 各個user沒有評分過,但有共同評分過某些項目的其他使用者所已評分過的項目, : 希望結果如下: : username item : ======== ==== : A 3 : B 2 : ps. item 4因為互相都沒有評分過,所以沒有在結果集當中 : 請各位高手幫忙 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.237.13
pcstar:不對耶...這樣只會從現有的rating裡篩出資料 04/11 01:01
pcstar:並不會產生原本沒有的資料 如A 3, B 2 04/11 01:07