请教一个问题,我在一次移动数据库导入导出的过程中,丢失一些存储过程,导致所有的SELECT出来的结果都变成了两条比如我的数据库中的两个表A表结构如下aid - 主键,自动
atitle
mid - 另外一个表(m表)的主键B表结构如下bid - 主键,自动
btitle
mid - 另外一个表(m表)的主键
aid - A表的主键我通过
select * from a,b where a.aid=b.bid order by bid desc
读出相关的数据,但发现所有的数据都重复出现,每条数据都变成了两条一模一样的数据,我是在MS SQL SERVER 2005的软件中测试也是出现两条。请问我该怎么写这个存储过程,让数据显示变成一条,或者用SQL语句该怎么写呢,因为SQL实在太多了,请问有什么好的办法呢?
atitle
mid - 另外一个表(m表)的主键B表结构如下bid - 主键,自动
btitle
mid - 另外一个表(m表)的主键
aid - A表的主键我通过
select * from a,b where a.aid=b.bid order by bid desc
读出相关的数据,但发现所有的数据都重复出现,每条数据都变成了两条一模一样的数据,我是在MS SQL SERVER 2005的软件中测试也是出现两条。请问我该怎么写这个存储过程,让数据显示变成一条,或者用SQL语句该怎么写呢,因为SQL实在太多了,请问有什么好的办法呢?
select distinct * from a,b where a.aid=b.bid order by bid desc
?
具体你查看表里数据
select aid,count(*)
from tb1
group by aid
having count(*)>1select bid,count(*)
from tb2
group by bid
having count(*)>1
--每条数据都变成了两条一模一样的数据
select distinct * from a,b where a.aid=b.bid order by bid desc
select distinct * from a,(select distinct * from b)b where a.aid=b.bid order by bid desc
我就是但一select B表也是出现同样的一条数据,没有出错的~