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