sql 我的数据库有三张表 信息表 电话号码表 通话记录表 求大神帮忙写出不会出现重复的语句
答案:3 悬赏:80 手机版
解决时间 2021-03-01 11:35
- 提问者网友:轻浮
- 2021-02-28 18:57
一个人可以拥有多个电话号码,但是这样再显示的时候就会出现重复,我想要查询出的信息:当前用户只能查询出一个最近电话的一条记录
最佳答案
- 五星知识达人网友:山有枢
- 2021-02-28 20:01
您好:
根据您的需求,写了如下代码,请参考。
SELECt (SELECT TOP 1 通话记录表.通话时间,通话记录表.电话号码
FROM 通话记录表
LEFT JOIN 电话号码表 ON 通话记录表.电话号码=电话号码表.电话号码
WHERe 电话号码表.用户ID=信息表.用户ID
ORDER BY 通话记录表.通话时间 DESC)
FROM 信息表
WHERe 用户名='输入的用户名'
根据您的需求,写了如下代码,请参考。
SELECt (SELECT TOP 1 通话记录表.通话时间,通话记录表.电话号码
FROM 通话记录表
LEFT JOIN 电话号码表 ON 通话记录表.电话号码=电话号码表.电话号码
WHERe 电话号码表.用户ID=信息表.用户ID
ORDER BY 通话记录表.通话时间 DESC)
FROM 信息表
WHERe 用户名='输入的用户名'
全部回答
- 1楼网友:煞尾
- 2021-02-28 21:48
select max(r.通话时间),i.name,i.id,p.phone
from 信息表 i,电话号码表 p,通话记录表 r
where i.id = p.id and p.phone = r.phone
group by i.name,i.id,p.phone
- 2楼网友:千夜
- 2021-02-28 21:06
肯定不对
你是指的是同一个数据库中的12个格式相同的表合并到一个新表中?
如果不考虑重复数据的话如下:
--为了少写几个字,先进入这个数据库
user user99952009
--先用最简单的方法建一个新表(如果新表已存在则不需要此步)
select top 0 * into z_pz00 from z_pz01
--执行数据插入新表
insert into z_pz00
select * from z_pz01
union all
select * from z_pz02
union all
select * from z_pz03
…… ---此处省略,你自己按上面的补写即可
union all
select * from z_pz12
--完成插入,看一下新表
select * from z_pz00
--如果需要删除那12个表,如下:
drop table z_pz01
drop table z_pz02
……
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯