棘手的SQL问题 求求高人解决一下!!!

zk911 2007-12-09 09:44:13
有两个表
第一个表(a)的字段和记录如下
abr_id roomtype
1 旧标准
2 多层住宅
3 多层非住宅

第二个表(b)的字段和记录如下
acr_roomtype acr_rsdarea
2 97
2 97
0 97
... ...

我执行 SELECT *FROM AC_Room,AB_
WHERE (AC_Room.acr_rsdarea = '97') and(RoomTypeAC_Room.acr_roomtype = AB_RoomType.abr_id)

返回的内容是
abr_id roomtype acr_roomtype acr_rsdarea
2 多层住宅 2 97
2 多层住宅 2 97

请问我想让b表的acr_roomtype为0的记录也显示出来
要结果如下:
abr_id roomtype acr_roomtype acr_rsdarea
2 多层住宅 2 97
2 多层住宅 2 97
0 97

请问这样的问题如何解决 谢谢!!!
...全文
136 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
symbol441 2007-12-10
  • 打赏
  • 举报
回复
用连接查询正解

SELECT *FROM AC_Room,AB_
WHERE (AC_Room.acr_rsdarea = '97') and(RoomTypeAC_Room.acr_roomtype = AB_RoomType.abr_id)



SELECT * FROM AC_Room right join AB_ on RoomTypeAC_Room.acr_roomtype=AB_RoomType.abr_id
WHERE AC_Room.acr_rsdarea = '97'
QQQQAnnie 2007-12-10
  • 打赏
  • 举报
回复
或者用union
ld_thinking 2007-12-10
  • 打赏
  • 举报
回复
连接方式 ,楼上诸位已回答了
priwilliam 2007-12-09
  • 打赏
  • 举报
回复
用right join 楼上说得对
FunctionScript 2007-12-09
  • 打赏
  • 举报
回复
select * from ac_room a right join ac_ b on b.acr_rsdarea=97 and b.acr_roomtype=a.abr_id
zk911 2007-12-09
  • 打赏
  • 举报
回复
我执行 SELECT * FROM a,b
WHERE (b.acr_rsdarea = '97')and(b.acr_roomtype=a.abr_id)

返回的内容是
abr_id roomtype acr_roomtype acr_rsdarea
2 多层住宅 2 97
2 多层住宅 2 97

请问我想让b表的acr_roomtype为0的记录也显示出来
要结果如下:
abr_id roomtype acr_roomtype acr_rsdarea
2 多层住宅 2 97
2 多层住宅 2 97
0 97

请问这样的问题如何解决 谢谢!!!

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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