关联数据库里面的两个表,用sql怎么写呢,access数据库
一个表名是download,一个表名字是dafendownload字段如下:IDTitleTypeUrlPhoto..........11刺客信条游戏/1.rar/1.g...
一个表名是download,一个表名字是dafen
download字段如下:
ID Title Type Url Photo .....
.....
11 刺客信条 游戏 /1.rar /1.gif
12 XXX XXX XXX XXX
danfen字段如下:
INFOID Score Ascore .....
11 900 90
结构就是这样,dafen表是给游戏打分用的,我用inner join连接两个表,让u.infoid=i.id后,结果在列表页只输出打过分的游戏,我想输出全部的游戏,打过分得显示分数,没打过分的为空,但是也要输出,sql该怎么写呢?不用写代码,我只要sql语句,就是download里面的全部输出,打过分的显示分数,没打过分的为空
另外说一下,如果游戏没有被打分,那么字段全部为null,所以输出只是打过分的游戏列表.我想输出全部的列表,打过分的显示分数,没打分的显示为0.不知道用update行不行 展开
download字段如下:
ID Title Type Url Photo .....
.....
11 刺客信条 游戏 /1.rar /1.gif
12 XXX XXX XXX XXX
danfen字段如下:
INFOID Score Ascore .....
11 900 90
结构就是这样,dafen表是给游戏打分用的,我用inner join连接两个表,让u.infoid=i.id后,结果在列表页只输出打过分的游戏,我想输出全部的游戏,打过分得显示分数,没打过分的为空,但是也要输出,sql该怎么写呢?不用写代码,我只要sql语句,就是download里面的全部输出,打过分的显示分数,没打过分的为空
另外说一下,如果游戏没有被打分,那么字段全部为null,所以输出只是打过分的游戏列表.我想输出全部的列表,打过分的显示分数,没打分的显示为0.不知道用update行不行 展开
4个回答
展开全部
楼上的兄弟是用的内连接,最简单的查询,没有数据就不会输出显示。常用的还有外连接,左外连接,右外连接,完整连接,交叉连接等,反正每种连接命令各有不同的输出方式,估计你要的是left (outer) join 。如果你设置游戏基本信息表为主表,评分表为辅表,那就用左外连接吧,只要用户信息表里有的都会在评分表里面查询到相应成绩,即使某个游戏条目没有产生成绩,也会把空成绩输出,显示NULL吧,但是如果主表中没有记录,却在辅表中产生了成绩,很显然有点不合理,甚至莫名其妙,这样就利用left把没价值的东西除去了。表连接的部分哦,代码吗,也许会是:
select download.*,danfen.* from download left outer join danfen on download.ID=danfen.INFOID
有毛病在探讨吧,我基础也不好
select download.*,danfen.* from download left outer join danfen on download.ID=danfen.INFOID
有毛病在探讨吧,我基础也不好
追问
我想再把null改为空或者0,这样方便我下来写if语句
比如
if score=100 显示10star.gif
score=90 显示09star.gif
当某个游戏没有被评分,用left jion 后,score为null
这样怎么写if语句......
或者能用as创建一个虚拟名字然后update么?
能不能用sql语句直接更改null为空或者0?
展开全部
select * from download join danfen on download.ID=danfen.INFOID
或者
select * from download ,danfen where download.ID=danfen.INFOID
或者
select * from download ,danfen where download.ID=danfen.INFOID
追问
不好意思,这个不行,不能全部输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看你的信息可能是出现“数据溢出”或数据不匹配的问题,我这有两种方法:
1、我建议你先用update 下,将Null更新成0,然后再查找输出就应该没问题了;
2、建立一个表的副本,然后更新副本里的数据,然后再联合查找输出。
1、我建议你先用update 下,将Null更新成0,然后再查找输出就应该没问题了;
2、建立一个表的副本,然后更新副本里的数据,然后再联合查找输出。
追问
请问sql语句怎么写呢,access的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用left join 即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询