求助,Sql语句问题
我碰到一个问题,很纠结,来请教一下大家
我有一个故障表 tabguzhang 为父表, 一个故障征兆表 tabZhengZhao 为子表
一个故障,对应 N 个征兆。
我现在要做一个查询,用户录入 4 个征兆,要求搜索出 有这 4 个征兆的所有故障
故障表结构:
id varchar(50)
note varchar(50)
征兆表结构:
id varchar(50)
GuzhangID varchar(50)
zhengzhao varchar(100)
请问这个sql怎么写。谢谢
[解决办法]
SELECT * FROM [tabguzhang] G WHERE G.ID IN (SELECT G.ID FROM [tabzhengzhao] WHERE zhengzhaoID=4)
[解决办法]
SELECT A.* FROM 故障表 AS AINNER JOIN( SELECT B.GUZHANGID,COUNT(1) AS NUM FROM 征兆表 AS B WHERE B.ZHENGZHAO IN('A','B','C','D') GROUP BY B.GUZHANGID) AS CON A.ID=C.GUZHANGIDWHERE C.NUM >= 4