永发信息网

关于数据库多表查询的问题

答案:2  悬赏:20  手机版
解决时间 2021-03-10 06:34
要是我有两张表一张表里面是
userid password replynum
另一张表里面是
times userid message(里面的很多userid是相同的)
现在要查询出userid='a'的password和message
我是select userId,times,message,replynum from users ,message where users.userId=message.userId=message.userId='a';
这样写的 可是他报错说Column 'userid' in field list is ambiguous
这是什么原因?
最佳答案
Column 'userid' in field list is ambiguous
这句话的意思是说对'userid'有歧义,就是说在两张表里面都有这个属性,你必须显示的说明你要查询的'userid'到底是那张表的,而且我记得where子句中的条件应该没有这样写的吧,我修改了一下,给你做个参考:select users.userId,times,message,replynum from users ,message where users.userId=message.userId and message.userId='a';
全部回答
我们通常使用的表之间的联接是等值联接;你的情况需要使用外联接来做。 我按照你的意思分别见了table1,table2,table0(对应你的table表),并把你的数据也增加进去了。 执行下面的sql可能会得到你想要的结果: (selecttable1.hm,table1.no1,table2.no2fromtable1fullouterjointable2on(table1.hm=table2.hm)wheretable1.hmisnotnull) union (selecttable2.hm,table1.no1,table2.no2fromtable1fullouterjointable2on(table1.hm=table2.hm)wheretable2.hmisnotnull) 输出结果如下: 希望是你想要的! 刚才没用到table0表,如果保证hm的值必须在table0中,如要修改上面的sql如下: select*from(selecttable1.hmashm,table1.no1,table2.no2fromtable1fullouterjointable2on(table1.hm=table2.hm)wheretable1.hmisnotnull union selecttable2.hmashm,table1.no1,table2.no2fromtable1fullouterjointable2on(table1.hm=table2.hm)wheretable2.hmisnotnull)astwheret.hmin(selecthmfromtable0) 这样,当table1,table2中的hm值不在table0表中,查询结果就不会出现。 外联接,包括左外联接、右外联接、全外联接的确大多数的程序员都不使用。宁肯用很长的程序代码来实现,但是用数据库sql来实现其实效率是最快的。 建议你了解外联接的知识。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
蒙牛纯甄酸牛奶的好处
剪约石头形象设计地址有知道的么?有点事想过
阿狸狗cadence17.2卸不掉,无法重装
结褵二十年赠汉思 这首诗 什么意思
5a景区65周岁是按月份算还是按年算
亲们,有好的视频修复软件吗
现有的lrc歌词如果要调整一下个别句子的时间
惊喜,是什么意思
我存照片和MP3歌曲的文件夹为什么在U盘里找不
求电视剧。和杉杉来了类似的。
宏运批发部地址在哪,我要去那里办事
一步网游小说描写盟重被屠城
女孩子告白失败,但是愿意和你做朋友,还有希望
红星队地址有知道的么?有点事想过去
放了冰箱的自制铜锣烧能够微波炉加热就吃吗?
推荐资讯
整天无所事事,荒度青春,无所作为,做什么都
永兴街我想知道这个在什么地方
污水处理厂二期工程还要做环评吗
我用别人的手机开通的QQ会员怎么取消掉?
怎么下载pc版nba2k16
艾迪诺亚3和4哪个好玩?
一共20 层木材,第一层1 2根第二层13根,下面
南海公投哪些国家支持菲律宾
华特航空华之旅集浩营业部地址在哪,我要去那
下列情况不需要重新进行焊接工艺评定的是()
太阳辐射多是说光照多啊还是热量多?光照,热
核型是指:A减数分裂时染色体的交叉B性染色体
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?