我正在制作在线表格。在用户填写此表格之前,系统会要求他选择表格类型和表格年份。这些值分别放置在 $formType 和 $year 中。
我想阻止用户两次提交相同的表单,即如果用户尝试提交 2011 年的表单 A,并且数据库中已经存在该表单,那么他将被阻止这样做。
因此我需要一个具有两个条件的 SELECT COUNT 函数,从 php 变量获取。 到目前为止,我已经成功地在 SQL 中做到了这一点,但仅限于使用一个条件时,如下所示:
SELECT COUNT(`formType`)
FROM `table1`
WHERE `formType` = '$formType' ;
但是,当我尝试过滤这两个条件时,它不起作用。代码如下:
SELECT COUNT(*)
FROM (
SELECT DISTINCT 'year', 'formType'
FROM `table1`
WHERE `year` = '$year' AND 'formType' = '$formType')
有什么想法吗?非常感谢
最佳答案
您认为为什么需要子查询?以下应该做
SELECT COUNT(*)
FROM `table1`
WHERE `year` = '$year' AND `formType` = '$formType'
您可能希望每年每个用户允许一种表单类型,因此您希望在查询中添加第三个条件,例如 AND userID = xx
(除非您有一个每个用户的表)。
关于mysql - SQL select 计算两个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7241610/