1

我有一个场景,其中我有一个表Company,其中包含一些我想查询的列

  1. 姓名
  2. 高优先级
  3. 优惠券(外键)

现在如果High Priority是真的,我想放在(High Priorty)公司名称栏的前面,如果公司里有超过 3 张优惠券,那么我想放在(Important)公司名称前面

这个怎么做?请帮助我,并在此先感谢

编辑

如果我想在 SQL 视图中添加这一切,我应该怎么做,因为当我试图在 SQL 视图中添加它时,它会给出错误

创建视图或函数失败,因为没有为列 1 指定列名。

编辑#2

我想根据这个查询选择公司优惠券计数

RejectProcessed = 0 and ReviewVerify = 0 and isPublish = 0 and ForSupervisor = 0  

我的意思是,当我们计算每家公司的优惠券时,我们应该在每张优惠券上插入这个查询,这些是 COUPON 表中已经存在的字段。

如果您需要更多详细信息,请告诉我

这就是我创建 nt 视图的方式

  Create view GetCompanyNames as
   SELECT  CASE WHEN COALESCE(b.totalCoupons, 0) > 3 THEN a.Name +'(Important) '
         WHEN IsHighPriority = 1 THEN a.Name +'(High Priority) '
        ELSE a.Name +''
    END  AS CompanyName
  FROM    Company a
    LEFT JOIN
    (
        SELECT  Name, COUNT(*) totalCoupons
        FROM    Company
        GROUP   BY Name
    ) b ON a.name = b.name
4

2 回答 2

1
SELECT  CASE WHEN COALESCE(b.totalCoupons, 0) > 3 THEN '(Important) '
            WHEN IsHighPriority = 1 THEN '(High Priority) '
            ELSE ''
        END + a.Name AS CompanyName
FROM    Company a
        LEFT JOIN
        (
            SELECT  Name, COUNT(*) totalCoupons
            FROM    Company
            GROUP   BY Name
        ) b ON a.name = b.name
于 2013-03-26T06:53:00.003 回答
-2

+您可以使用运算符连接字符串

select 'a'+'b'

选择文本“ab”

于 2013-03-26T06:48:40.773 回答