簡體   English   中英

列表中至少一個值的 SQL 條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM