日期:2014-05-17  浏览次数:20460 次

SQL语句问题3个问题,求教?????
请教各位:
1.在pl/sql中有代码美化器,在Sql Server中有么?
2.写了一个查询语句查询表A,然后在表A中加了一个字段,但是那个查询语句中无法立刻查到新加的字段,重开Sql Server后才能查到,求解为什么?
3.在Oracle中一个数据集可以用括号括起来,空格指定别名,在Sql Server中如何做多,如下面语句
A那边报错:

select b.oid, userInfo+'  预定'+b.mealCount+'份',b.insertTime,b.getTime,s.suppName,
b.bookReason, case b.isEnter when '0' then '否' when '1' then '是' end isEnter,
case b.isBack when '0' then '否' when '1' then '是' end isBack
from BookMealRecord b
left join (select d.departmentName+'——'+u.userName,u.userId userInfo
 from UserInfo U 
 left join Department d 
 on u.userInDepartmentId=d.departmentId) A on b.userId=A.userInfo
left join SupplierInfo s on s.suppId=b.SupplyId
SQL?Server

------解决方案--------------------
#1.无。可用第三方RedGate中的SQL Prompt 中的FORMAT命令
#2.如果是实体表,不应该。既然重启起效,说明已经commit并写到了日志中,即使没写到硬盘上,也应该可以读取内存中的数据呀。这种问题几乎很少见,不解。
#3.--结果集也用()括起来,SQL SERVER中叫做子查询
--别名
SELECT 'aaa' AS fieldname
SELECT 'aaa' fieldname
SELECT fieldname = 'aaa'
------解决方案--------------------
1. 有,但是默认安装中没有,是一个插件. 好像就SQL Beautifier
2. 按ctrl+shift+R刷新窗口就行.
3. 语句合法,没看出来错误. 你把错误信息发出来看看.
   有可能是on链接错误,b.userId 和 A.userInfo 属性是不是相同?
------解决方案--------------------
SELECT  b.oid ,
        a.userInfo + '  预定' + b.mealCount + '份' ,
        b.insertTime ,
        b.getTime ,
        s.suppName ,
        b.bookReason ,
        CASE b.isEnter
          WHEN '0' THEN '否'
          WHEN '1' THEN '是'