怎样按条件联合查询四个以上表中的数据?

viphk 2011-05-09 12:25:45
表A,B,C,D 关键字 uid
四个表中的字段是相同的,只是表名称不同,由于估计网站后期数据量可能比较大,我为了便于管理,与减少数据的查询量,分了类放在这四个表中.
我现在想实现联合查询,先读取所有表中的记录,并且按ID排序,

然后又要能实现,分类的查询,比如我要查询所有表中KTPAY字段='uuu',的所有记录,怎么写SQL语句,
要查询B表中KTPAY字段='uuu'的记录,又怎么写语句呢?
...全文
174 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
So_CooL 2011-05-14
  • 打赏
  • 举报
回复
select * from a inner join b on a.KTPAY = b.KTPAY
inner join c on a.KTPAY = c.KTPAY
inner join d on a.KTPAY=d.KTPAY
where a.KTPAY = 'uuu'
So_CooL 2011-05-14
  • 打赏
  • 举报
回复
select * from a inner join b on a.KTPAY='uuu' = b.KTPAY='uuu'
inner join c on a.KTPAY='uuu' = c.KTPAY='uuu'
inner join d on a.KTPAY='uuu' = d.KTPAY='uuu'
oO寒枫Oo 2011-05-13
  • 打赏
  • 举报
回复
select (select count(1) from A)+(select count(1) from B)+(select count(1) from C)+(select count(1) from D) as Sum_num
viphk 2011-05-13
  • 打赏
  • 举报
回复
多个表的记录总数又怎么查询呢?
haosa 2011-05-12
  • 打赏
  • 举报
回复
select * from A where KTPAY='uuu'
union all
select * from B where KTPAY='uuu'
union all
select * from C where KTPAY='uuu'
union all
select * from D where KTPAY='uuu'
order by id
mabailin 2011-05-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qianjin036a 的回复:]

先分别查询,再联合,这样效率高些,排序子句只要最后一个查询语句有就行了:
SQL code
select * from A where KTPAY='uuu'
union all
select * from B where KTPAY='uuu'
union all
select * from C where KTPAY='uuu'
union all
select * from D whe……
[/Quote]

支持,查询应该尽早将返回条数减少
viphk 2011-05-12
  • 打赏
  • 举报
回复
多个表的记录总数又怎么查询呢?
viphk 2011-05-09
  • 打赏
  • 举报
回复
嗯,我试一下,学习了!!
百年树人 2011-05-09
  • 打赏
  • 举报
回复
select *  --这里列举除了tbname外的其他字段
from
(select 'a' as tbname,* from a
union all
select 'b',* from b
union all
select 'c',* from c
union all
select 'd',* from d
) t
where ktpay='uuu' and tbname='b'
order by id
gogodiy 2011-05-09
  • 打赏
  • 举报
回复
一般用UNIOL ALL来连接了。
-晴天 2011-05-09
  • 打赏
  • 举报
回复
先分别查询,再联合,这样效率高些,排序子句只要最后一个查询语句有就行了:
select * from A where KTPAY='uuu'
union all
select * from B where KTPAY='uuu'
union all
select * from C where KTPAY='uuu'
union all
select * from D where KTPAY='uuu' order by id
ringobob 2011-05-09
  • 打赏
  • 举报
回复

select * from A where 条件
union all
select * from B where 条件
union all
select * from C where 条件
union all
select * from D where 条件
order by uid

--小F-- 2011-05-09
  • 打赏
  • 举报
回复
select * from A where KTPAY='uuu'
union all
select * from B where KTPAY='uuu'
union all
select * from C where KTPAY='uuu'
union all
select * from D where KTPAY='uuu'
order by id

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧