首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL语句有关问题3个有关问题,求教?

2013-08-09 
SQL语句问题3个问题,求教?????请教各位:1.在pl/sql中有代码美化器,在Sql Server中有么?2.写了一个查询语句

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 '是'


        END isEnter ,
        CASE b.isBack
          WHEN '0' THEN '否'
          WHEN '1' THEN '是'
        END isBack
FROM    BookMealRecord b
        LEFT JOIN ( SELECT  (d.departmentName + '——' + u.userName) AS duName ,--指定别名duName
                            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

热点排行