[英]SQL condition on at least one value of list
我有兩個表,由 Mysql 實現。
Users
表如下:
ID | 姓名 |
---|---|
1 | 千斤頂 |
2 | 薩納茲 |
UserInterests
表如下:
用戶身份 | 興趣 |
---|---|
1 | 運動 |
1 | 音樂 |
1 | 電影 |
2 | 音樂 |
2 | 足球 |
而且,在搜索查詢方面,我有一個數組列表,例如:
$interests = ['Music', 'Science', 'Computer'];
我可以通過哪些方式實現查詢以返回其興趣列包含至少一個元素的行$interests
?
例如,通過考慮表和數組中提到的值,查詢應該返回 Jacks 的記錄。
一種選擇是在WHERE
子句中使用IN
運算符,然后使用LIMIT
子句來限制返回的行數:
SELECT u.*
FROM Users u
INNER JOIN UsersInterests ui
ON u.ID = ui.User_ID
AND ui.Interest IN ('Music', 'Science', 'Computer')
LIMIT 1
而('Music', 'Science', 'Computer')
可以使用您的變量$interests
作為輸入傳遞。
在此處查看演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.