Foxtable(狐表)用户栏目专家坐堂 → 请教SQL语句


  共有2172人关注过本帖树形打印复制链接

主题:请教SQL语句

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/2 13:50:00 [显示全部帖子]

access按这种模式使用多表连接,一层套一层

select * from (({表A} inner join {表B} on {表A}.第一列={表B}.第一列) inner join {表C} on {表A}.第一列={表C}.第一列) inner join {表D} on {表A}.第一列={表D}.第一列

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/2 15:57:00 [显示全部帖子]

那就使用子查询,根据条件查询后再连接。或者直接按条件在access里创建一个查询表进行连接

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/2 17:08:00 [显示全部帖子]

select * from (({表A} inner join {表B} on {表A}.第一列={表B}.第一列) inner join (select * from {表B} where 第一列=‘123’) as c on {表A}.第一列=c.第一列) inner join {表D} on {表A}.第一列={表D}.第一列

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/2 21:16:00 [显示全部帖子]

比如建立视图或者查询:视图1
select FName,FNumber,FItemID    from t_ItemDetailV tailV innner join t_Item a on item8.FItemID = tailv.fitemid where tailv.fitemclassid = 1 Or  tailv.fitemclassid = 8


 left JOIN t_Item item8 ON item8.FItemID = tailv.fitemid And (tailv.fitemclassid = 1 Or  tailv.fitemclassid = 8))

可以改为

 left JOIN 视图1 item8 ON item8.FItemID = tailv.fitemid )

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/2 22:24:00 [显示全部帖子]

是的

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107660 积分:547615 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/2 23:00:00 [显示全部帖子]

基本没有限制。把部分语句做成查询或者视图不就短了

 回到顶部