首页 新闻 搜索 专区 学院

有关SQL Server的问题,大神何在?

0
悬赏园豆:10 [已解决问题] 解决于 2013-12-06 14:57

WITH t AS
(
SELECT ROW_NUMBER() OVER(PARTITION BY f.Id ORDER BY f.Id) AS num,
f.Id,f.Serialid,f.AirWays,f.FlyOffDate,f.TicketType,
f.PassengerNames, f.RemoteBuyMerchantId,f.PassengerPNRs,
p.FlightNO,p.CabinCode,p.BigCode,s.FSOCreateDate,s.FSOAirLineDes,p.DisRate
FROM fffxxx1 AS s WITH(NOLOCK)
INNER JOIN fffxxx2 AS f WITH(NOLOCK) ON f.Id=s.FSOOrderId
INNER JOIN fffxxx3 AS p WITH(NOLOCK) ON p.OrderId=s.FSOOrderId
WHERE s.FSOCreateDate>='2013-11-11'
AND f.OrderFlag='S' AND f.IsTHClear=1
AND s.FSOIsAuto=0
AND ISNULL(FSOTicketingType,0) = 2
AND PassengerType=1
AND s.FSOFlyOffDate>='1991-08-08' AND s.FSOFlyOffDate<='2013-08-08'
)
SELECT t.Id,t.Serialid,t.AirWays,t.FlyOffDate,t.TicketType,
t.PassengerNames, t.RemoteBuyMerchantId,t.PassengerPNRs,
t.FlightNO,t.CabinCode,t.BigCode,ISNULL(w.ACQQNum,'') AS ACQQNum ,t.FSOCreateDate,t.FSOAirLineDes,t.DisRate
FROM t WITH(NOLOCK)
LEFT JOIN Air_WaysCode AS w WITH(NOLOCK) ON w.AirWaysCode=t.AirWays
WHERE t.num=1 AND IsClosed='0' AND CountryCode='CN' ORDER BY FSOCreateDate DESC

< >
分享
最佳答案
0

没有缺少开头,with t as是一个临时表的用法,

也就是把as后面括号内的查询结果放在临时表中,

这样你后面就可以用这个临时表t了,

然后也可以关连其他表(如Air_WaysCode )进行查询

收获园豆:6
junjieok | 小虾三级 |园豆:779 | 2013-12-06 13:04

可是为什么放到数据库中的时候这段语句是错的呢?(无法绑定由多个部分组成的标示符)

戴尼玛 | 园豆:193 (初学一级) | 2013-12-06 13:57

@戴尼玛:检查一下 IsClosed、CountryCode、FSOCreateDate 这些列中是不是两个表中都有,如果两个表都有要加上表的别名。

junjieok | 园豆:779 (小虾三级) | 2013-12-06 14:42

@junjieok: 非常感谢,弄完了,虽然还是一知半解的不过功能倒是实现了,就等后期测试效果了!

戴尼玛 | 园豆:193 (初学一级) | 2013-12-06 14:54
其他回答(3)
0

我是凡人.

你的问题?

收获园豆:1
静静地写代码 | 园豆:767 (小虾三级) | 2013-12-06 12:44

还是要谢谢

支持(0) 反对(0) 戴尼玛 | 园豆:193 (初学一级) | 2013-12-06 14:57
0
--定义一个名称为T_AirWaysCode_Page的cte(用于分页) 
with T_AirWaysCode_Page as
(
 --主体查询语句
)
select * from  T_AirWaysCode_Page --查询T_AirWaysCode_Page内所有数据

看你多表查询 应该是做分页的  使用cte名称怎么也起有点意义的 多表查询用视图方便一些

收获园豆:2
秋壶冰月 | 园豆:5692 (大侠五级) | 2013-12-06 13:32

非常感谢

支持(0) 反对(0) 戴尼玛 | 园豆:193 (初学一级) | 2013-12-06 14:54
0

针对with的写法,一般在with之前加上;

收获园豆:1
幻天芒 | 园豆:36790 (高人七级) | 2013-12-06 14:32

非常感谢

支持(0) 反对(0) 戴尼玛 | 园豆:193 (初学一级) | 2013-12-06 14:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册