我有一个场景,其中我有一个表Company
,其中包含一些我要查询的列
现在,如果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
答案 0 :(得分: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
答案 1 :(得分:-2)
您可以使用+
运算符
select 'a'+'b'
选择文字'ab'