0

我试图允许用户仅查看某些记录,其中查询变量由用户使用表单给出。该表单包含一个日期选择器和 3 个选择元素,用户可以在其中选择多个选项,允许的选项由 SQL 使用SELECT DISTINCT.

日期选择有效,但 SELECT 列表仅在选择一个值时有效。我觉得问题是由“结果”页面上不正确的 SQL 引起的。我不知道如何使 SQL 使用逗号分隔的字符串(例如:user1、user2、user3 等。这是我的 SQL 查询:

SELECT *
FROM exp_core
WHERE `time` >= startdate 
AND `time` <= enddate 
AND user LIKE uservar 
AND type LIKE typevar 
AND trnsact LIKE trnsactvar

uservar,typevartrnsactvar是逗号分隔的形式变量。谁知道如何让 SQL 将这些值视为单独的值?

4

1 回答 1

3

对于多个变量,您必须使用 IN 运算符。

SELECT *
FROM exp_core
WHERE `time` >= startdate 
AND `time` <= enddate 
AND user IN (uservar) 
AND type IN (typevar) 
AND trnsact IN (trnsactvar)
于 2012-08-15T13:11:47.417 回答