以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 多表联合查询的分页问题SQLTABLE SQLLOAD (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123946)
|
-- 作者:aoc103
-- 发布时间:2018/8/27 17:38:00
-- 多表联合查询的分页问题SQLTABLE SQLLOAD
Select * F rom (Select Row_Number() Over(Order by [订单ID]) As RowNum, * f rom 订单) As a Where RowNum >= 1 And RowNum <= 50
这行是示例
我现在需要查询两个表
一个是tbl_商品 另一个是tbl_品牌表
靠tbl_商品.品牌=tbl_品牌表.品牌名称 联合
请问以上SQL 代码要怎么套用?
|
-- 作者:有点甜
-- 发布时间:2018/8/27 17:40:00
--
1、首先得到联合查询的sql语句,比如为 sql1;
2、把sql1替换示例语句的【订单】即可,如
Select * F rom (Select Row_Number() Over(Order by [订单ID]) As RowNum, * f rom (sql1)) As a Where RowNum >= 1 And RowNum <= 50
|
-- 作者:aoc103
-- 发布时间:2018/8/27 19:06:00
--
好像不行 我把SELECT 语句 直接写在了SQL1那里 显示不行
|
-- 作者:aoc103
-- 发布时间:2018/8/27 20:43:00
--
此主题相关图片如下:1535373725(1).jpg
我这样写 还是不行 特意没有多表查询
|
-- 作者:aoc103
-- 发布时间:2018/8/27 20:45:00
--
此主题相关图片如下:1535373857(1).jpg

|
-- 作者:有点蓝
-- 发布时间:2018/8/27 21:38:00
--
Select * F rom (Select Row_Number() Over(Order by [订单ID]) As RowNum, * f rom (sql1) as a) As a Where RowNum >= 1 And RowNum <= 50
|
-- 作者:aoc103
-- 发布时间:2018/8/27 23:06:00
--
Select * F rom (Select Row_Number() Over(Order by [登记名称]) As RowNum, * f rom (SELECT [tbl_商品]._identify [tbl_商品].品牌,登记名称 f rom [tbl_商品])as a) As a Where RowNum >= 1 And RowNum <= 40这句故意不联合表查询 如果写有字段名 依然会报错 如果是像以下这样,倒是不会报错,可一旦两个表 就会出错 提示有两个_identify列 Select * F rom (Select Row_Number() Over(Order by [登记名称]) As RowNum, * f rom (SELECT * f rom [tbl_商品])as a) As a Where RowNum >= 1 And RowNum <= 40
|
-- 作者:有点蓝
-- 发布时间:2018/8/27 23:15:00
--
Select * F rom (Select Row_Number() Over(Order by [登记名称]) As RowNum, * f rom (SELECT [tbl_商品].[_identify], [tbl_商品].品牌,登记名称 f rom [tbl_商品])as a) As a Where RowNum >= 1 And RowNum <= 40
[此贴子已经被作者于2018/8/27 23:14:54编辑过]
|