日期:2014-05-18  浏览次数:20814 次

《高分》帮忙看看这几个SQL 的小题,就这几个不会了。谢谢。《高分》
SQL code


一、    变量声明
3.    定义名为@quantity的局部变量,并赋值为2048,检索所有销售数量大于@quantity的销售明细表,并按销售数量、合同编号排序。
6.    向带有标识列的表departments中插入一新行,并用@@identity显示在新行中使用的标识值。
8.    用@@error检测一个特定错误。
14.    执行update语句,并用@@rowcount来检测是否有发生更改的行。 

二、    运算符

7.    使用赋值运算符将products表中显示’第一列’和’第二列’的两个列标题,将第1列中所有行显示为产品编号,第二列标题中显示字段productID的值。
9.比较运算符应用。分析题意,添加注释。
   declare  @myproduct  int 
    set @myproduct =10
    if(@myproduct <>0)
          select  *  from  produtcts 
          where pro_id=@myproduct
11.如果产品单价低于1209.50,给出产品定价偏低提示。
12. 查询客户的姓名,这些客户的职位出现在员工的职位目录中。
15. 查询从1991.6.1至1991.6.30日销售产品的员工编号、订单编号、客户编号和姓名。






----===========================================================
请大大们帮忙 做做。。我忙活了一上午。。这几个题,就剩这几个题不会了。。。希望帮忙做做。谢谢了。。。最近 一直在自学 C++ 一直没时间 学习 数据库。。老师水平 不咋地。真蛋疼,还要靠自己自学。。大学 坑爹啊。。。



------解决方案--------------------
SQL code
3.    定义名为@quantity的局部变量,并赋值为2048,检索所有销售数量大于@quantity的销售明细表,并按销售数量、合同编号排序。
declare @quantity int 
set @quantity=2048
select * from tb where 销售数量>@quantity order by 销售数量,合同编号
6.    向带有标识列的表departments中插入一新行,并用@@identity显示在新行中使用的标识值。
insert into departments select  'x','x',...

select @@identity

------解决方案--------------------


奉上一题:
14. 执行update语句,并用@@rowcount来检测是否有发生更改的行。 
update 表 set 更新字 where 条件

if @@rowcount>0

print '更新行了'
else
print '没有更新行
------解决方案--------------------
SQL code

7.    使用赋值运算符将products表中显示’第一列’和’第二列’的两个列标题,将第1列中所有行显示为产品编号,第二列标题中显示字段productID的值。
真心没看懂
9.比较运算符应用。分析题意,添加注释。
   declare  @myproduct  int   --声明整形变量
    set @myproduct =10        --给变量赋值10
    if(@myproduct <>0)        --if判断,判断变量是否不等于0
          select  *  from  produtcts        
          where pro_id=@myproduct       --若不等于0,查询产品表产品ID等于10的产品信息
11.如果产品单价低于1209.50,给出产品定价偏低提示。
不知道上下文如何,单纯这一个问题
SELECT CASE WHEN 单价 < 1209.50 THEN '定价偏低'
                 ELSE '定价正常' END AS '提示'
FROM Products 
12. 查询客户的姓名,这些客户的职位出现在员工的职位目录中。
SELECT 姓名
FROM 客户表
WHERE 职位 IN (SELECT 职位 FROM 员工表)
15. 查询从1991.6.1至1991.6.30日销售产品的员工编号、订单编号、客户编号和姓名。
SELECT 员工编号,订单编号,客户编号,姓名
FROM 员工表,订单表,客户表
WHERE 关联条件自己找 AND 销售日期 BETWEEN '1991-06-01' AND '1991-06-30'

------解决方案--------------------
第七题的意思
应该是取别名吧

select 
第一列 as 产品编号,第二列 as productID
from
products