在我的Rails應用我有三個表處理課程和類之間的許多一對多的關係SQL在多個維度過濾與許多一對多的關係
- 課程
- course_categories_courses
- course_categories
我有類別的組,我想允許的課程按類別上市的過濾通過類似的接口:
位置
- 非常接近
- 附近
- 遠
類型
- 短
- 媒體
- 長期
要搜索平臺類型的遠近,我曾想過使用:
SELECT distinct courses.*
FROM `courses`
inner join course_categories on
course_categories_courses.course_category_id = course_categories.id
and (
course_categories.id in ('medium')
and course_categories.id in ('near', 'far')
)
但不工作。任何人都能指出我正確的方向嗎?
這可能是問題的關鍵。我的course_categories_courses表包含course_categories_id和course_id,使用我的示例數據,有以下記錄: - course 1 |中等 - 課程1 |近 - 課程2 |遠 - 課程2 |短 我希望它只返回課程1.目前,它不返回。 – Denseflux 2011-05-16 17:35:54
我認爲jny已經明白了。第二個(近/遠)部分應該是'location',而不是'id' – 2011-05-16 18:57:11