林仍然是一个新事物的SQL方面。我一直在试图苏斯如何给你一个在标准,但它已经决定,如果查询恰好等于1个结果或多个。我有以下的。
我可以做这一切错误的,但想到我会问。
SELECT employee_name
, transaction_id
, department
, transaction_date
, transaction_day
FROM employee_transactions
WHERE transaction_date
BETWEEN '2018-08-20 07:14:35.000'
AND '2019-02-05 08:29:56.000'
AND CASE WHEN '$variable' = 'All'
THEN inc_day IN (
SELECT DISTINCT transaction_day
FROM employee_transactions
) ELSE inc_day in ('$variable')
END
我的意思是在列事务一天都有周一,周二,周三ECT的条目然而一切并不在那里。因此,在表格上,如果之前就选择所有这一切,从天而不是只有一个但是,如果他们从星期一拔然后只显示蒙达拉
你应该写你的查询关键词,比如以下。
SELECT employee_name,
transaction_id,
department,
transaction_date,
transaction_day
FROM employee_transactions
WHERE transaction_date
BETWEEN '2018-08-20 07:14:35.000'
AND '2019-02-05 08:29:56.000'
AND ( '$variable' = 'All' OR inc_day = '$variable')
上面的查询将返回所有的记录时,$变量=“ALL”否则就只能匹配记录。
假设被执行查询前“$变量”将得到更换。
你可以尝试这样的
if($variable == "All")
{
$query = "SELECT employee_name, transaction_id , department , transaction_date ,
transaction_day
WHERE transaction_date BETWEEN '2018-08-20 07:14:35.000' AND '2019-02-05 08:29:56.000'
GROUP BY transaction_date"
}
else
{
$query = "SELECT employee_name, transaction_id , department , transaction_date , transaction_day
FROM employee_transactions
WHERE transaction_date BETWEEN '2018-08-20 07:14:35.000' AND '2019-02-05 08:29:56.000'
AND inc_day in ($variable)"
}