select disname from 发热--第一张动态创建的表
select disname from 头痛--第二张动态创建的表
where disname in
(select disname from 发热)select disname from 流鼻涕--第三张动态创建的表
where disname in 
(select disname from 头痛
where disname in
(select disname from 发热)
)
select disname from 咳嗽--第四张动态创建的表
where disname in 
(select disname from 流鼻涕
where disname in
(select disname from 头痛
where disname in
(select disname from 发热)那如果有第五张 那不是晕死了
这是用checkboxlist勾的 ,勾一个就动态创建第一张表 ,勾第二个就创建第二张表,要跟第一张表链接。
勾第三个 就要跟前面两个链接起来的表 再链接。。不知道能不能产生张临时表
用存储过程能解决这个问题吗 如何解决 因为可以勾很多个。。 

解决方案 »

  1.   

    不清楚你手中的数据是什么样的,但从你的查询能看出来,咳嗽、流鼻涕、头痛、发热分别是四张表,这都是临床症状,那为什么不将这些信息放在一张表里面呢。e.g.table: 临床症状
    columns: 症状编号,症状名称,症状分类table: 疾病
    columns: 疾病编号,疾病名称,疾病分类,...table: 疾病症状
    columns: 疾病编号,症状编号,早期,中期,晚期,...下面不就好查询了吗