求教ASP关联查询三个数据表(均有字段tittle)中的记录条数(相同tittle不重复统计)?
答案:1 悬赏:30 手机版
解决时间 2021-03-07 06:14
- 提问者网友:遮云壑
- 2021-03-07 00:46
求教ASP关联查询三个数据表(均有字段tittle)中的记录条数(相同tittle不重复统计)?
最佳答案
- 五星知识达人网友:行雁书
- 2021-03-07 01:10
select count(distinct t.title)
from
(select title from table1
union all
select title from table2
union all
select title from table3) t追问谢谢您的指导!我的三个数据表中的数据有三种情况,一种情况就是刚才说的同一个tittle可能在三个表中都有记录;另一种情况是同一个tittle可能在其中的两个表中有记录;还有一种情况是同一个tittle只在其中的一个表中有记录,请问这中情况的话,还需要在您的这句代码中再增加其他条件语句吗?麻烦继续指导一下,谢谢!!!追答这个语句针对你上边提到的三种情况,都能排除重复。不知道你想要的结果是啥样。追问比如:table1中字段title,remark1下的数据为8007201,q1;8007202,q3;table2中字段title,remark2下的数据为8007201,q1;8007206,q2;table3中字段title,remark3下的数据为8007207,q3;8007202,q2;我就是想统计三个数据表中q1,q2,q3的记录条数,如果tittle相同的话只能算一条记录。比如:table1中字段title,remark1下的数据为8007201,q1;8007202,q3;table2中字段title,remark2下的数据为8007201,q1;8007206,q2;table3中字段title,remark3下的数据为8007207,q3;8007202,q2;我想统计三个数据表中q1,q2,q3的记录条数,相同tittle只能算一条记录。麻烦继续指导一下!追答要是这样的话,可能要改了
创建表:
create table t1
(title int,
remark varchar(2));
create table t2
(title int,
remark varchar(2));
create table t3
(title int,
remark varchar(2));
insert into t1 values (8007201,'q1');
insert into t1 values (8007202,'q3');
insert into t2 values (8007201,'q1');
insert into t2 values (8007206,'q2');
insert into t3 values (8007207,'q3');
insert into t3 values (8007202,'q2');执行:
select title,remark,count(*)
from
(select * from t1
union
select * from t2
union
select * from t3) t
group by title,remark结果:
以上sqlserver下执行,你看看结果,如果不对说出你要的结果是什么样。另外,如果t1表中本身就有重复的话,那么可能算不出来正确答案。
追问请问一定要创建新表吗?因为我的三个数据表中每天的的数据记录还是挺多的,刚才担心描述的不清楚,所以我就简单举例在每个表中只有两个数据记录。追答我就是给你演示一下而已,你可以复制上边的东西到自己数据库里试试。你自己本身数据库有几个表都没关系,你可以union all之类的把N个表合成一个结果集,最后的结果从这个结果集里出。追问您说的对,我先按照您的指导先测试一下,有什么问题还有再麻烦请教您哈,非常感谢!!!追答要问尽快问,一旦提问被推荐没法追答了。追问遗憾我电脑没带回来,要明天到单位才能处理程序的事情,您方便把您Q Q告诉我吗?谢谢啦!!!追答见私信追问好的
from
(select title from table1
union all
select title from table2
union all
select title from table3) t追问谢谢您的指导!我的三个数据表中的数据有三种情况,一种情况就是刚才说的同一个tittle可能在三个表中都有记录;另一种情况是同一个tittle可能在其中的两个表中有记录;还有一种情况是同一个tittle只在其中的一个表中有记录,请问这中情况的话,还需要在您的这句代码中再增加其他条件语句吗?麻烦继续指导一下,谢谢!!!追答这个语句针对你上边提到的三种情况,都能排除重复。不知道你想要的结果是啥样。追问比如:table1中字段title,remark1下的数据为8007201,q1;8007202,q3;table2中字段title,remark2下的数据为8007201,q1;8007206,q2;table3中字段title,remark3下的数据为8007207,q3;8007202,q2;我就是想统计三个数据表中q1,q2,q3的记录条数,如果tittle相同的话只能算一条记录。比如:table1中字段title,remark1下的数据为8007201,q1;8007202,q3;table2中字段title,remark2下的数据为8007201,q1;8007206,q2;table3中字段title,remark3下的数据为8007207,q3;8007202,q2;我想统计三个数据表中q1,q2,q3的记录条数,相同tittle只能算一条记录。麻烦继续指导一下!追答要是这样的话,可能要改了
创建表:
create table t1
(title int,
remark varchar(2));
create table t2
(title int,
remark varchar(2));
create table t3
(title int,
remark varchar(2));
insert into t1 values (8007201,'q1');
insert into t1 values (8007202,'q3');
insert into t2 values (8007201,'q1');
insert into t2 values (8007206,'q2');
insert into t3 values (8007207,'q3');
insert into t3 values (8007202,'q2');执行:
select title,remark,count(*)
from
(select * from t1
union
select * from t2
union
select * from t3) t
group by title,remark结果:
以上sqlserver下执行,你看看结果,如果不对说出你要的结果是什么样。另外,如果t1表中本身就有重复的话,那么可能算不出来正确答案。
追问请问一定要创建新表吗?因为我的三个数据表中每天的的数据记录还是挺多的,刚才担心描述的不清楚,所以我就简单举例在每个表中只有两个数据记录。追答我就是给你演示一下而已,你可以复制上边的东西到自己数据库里试试。你自己本身数据库有几个表都没关系,你可以union all之类的把N个表合成一个结果集,最后的结果从这个结果集里出。追问您说的对,我先按照您的指导先测试一下,有什么问题还有再麻烦请教您哈,非常感谢!!!追答要问尽快问,一旦提问被推荐没法追答了。追问遗憾我电脑没带回来,要明天到单位才能处理程序的事情,您方便把您Q Q告诉我吗?谢谢啦!!!追答见私信追问好的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯