在表中查找只有一个值的值

时间:2012-11-30 00:04:08

标签: mysql

我正在尝试创建一个查询,该查询将搜索数据库中只有一种类型值的字段。例如。每个人(regNum)一次最多可以拥有四种状态(“A”,“B”,“C”或“{{1我希望找到那些只有“D”状态的人。

C

问号代表我想要一个类似'只是'的陈述的地方。

2 个答案:

答案 0 :(得分:0)

SELECT sm.regNum
FROM tbl_studentModules sm
LEFT JOIN tbl_student s ON s.regNum = sm.regNum
AND level = $level
group by sm.regnum
HAVING sum(status <> 'C') = 0

答案 1 :(得分:0)

我建议用临时表来做这件事。抓住所有没有C的东西,如下:

DROP TABLE IF EXISTS t1;
CREATE TEMP TABLE t1 AS
SELECT DISTINCT tbl_studentModules.regNum 
    FROM tbl_studentModules
    LEFT JOIN tbl_student
    ON tbl_student.regNum = tbl_studentModules.regNum
    WHERE status NOT IN ('A','B','D') AND level = $level";

SELECT * FROM t1 WHERE status = 'C';