问题描述
- 取别名问题··········
-
SELECT
t1.*,
IF (min_time IS NULL, '否', '是') 是否维修厂首单
FROM
(
SELECT
a.sn 订单号,
FROM_UNIXTIME(a.create_time) 下单日期,
h.user_name 维修厂名称,
c.store_name 店铺名称,
a.order_amount 订单金额,
IFNULL(
(
SELECT
SUM(ebt.type_money)
FROM
es_member_bonus emb,
es_bonus_type ebt
WHERE
emb.bonus_type_id = ebt.type_id
AND a.bonus_id LIKE CONCAT('%', emb.bonus_id, '%')
AND emb.member_id
= a.member_id
AND emb.used
= 1
),
0
) 优惠券金额,
(
SELECT
sales_name
FROM
es_sales i
WHERE
h.sales_id = i.sales_id
) 销售员,
CASE a.status
WHEN 0 THEN
'已确认'
WHEN 1 THEN
'已付款待确认'
WHEN 2 THEN
'已付款'
WHEN 4 THEN
'未发货'
WHEN 5 THEN
'已发货'
WHEN 6 THEN
'已收货'
WHEN 7 THEN
'已完成'
WHEN 9 THEN
'订单已生效'
END 状态 as state
FROM
es_order a,
es_store c,
es_goods d,
es_brand e,
es_order_items f,
es_ent_member h
WHERE
a.member_id = h.member_id
AND a.store_id = c.store_id
AND a.order_id = f.order_id
AND f.goods_id = d.goods_id
AND d.brand_id = e.brand_id
AND a.status
IN (0, 1, 2, 4, 5, 6, 7, 9)
GROUP BY
a.sn
ORDER BY
a.create_time
) t1
LEFT JOIN (
SELECT
FROM_UNIXTIME(min(create_time)) min_time
FROM
es_order
GROUP BY
member_id
) t2 ON t1.下单日期 = t2.min_time
想给是否维修厂首单,优惠券金额等都取一个别名,改如何做,新手求救,哭了。
解决方案
sql里面怎么还有if?因该是用case when来判定吧。如:(case when min_time IS NULL then '否' else '是' end) 是否维修厂首单
解决方案二:
sql里面怎么还有if?因该是用case when来判定吧。如:(case when min_time IS NULL then '否' else '是' end) 是否维修厂首单
解决方案三:
case when 可以使用decode代替,还有一个nvl函数也比较好用,两者结合起来代码就简单明了
解决方案四:
师老灞上·桓温 作者:★浮星槎★
(一)木犹如此
晋太和四年(公元369年),大司马桓温统帅五万军队,第三次北伐。大军从姑 孰(今安徽当涂)出发,途经金城(今江苏江乘县附近)。这一年,距他出任琅 琊内史(晋朝北方领土丧失后,在南方设立侨州、侨郡、侨县,以示恢复之志。 琅琊就是侨郡之一,治所金城)的时候已经整整三十七年,距他离开金城,升任 徐州刺史的时候也已经二十多年了。岁月无情......
答案就在这里:师老灞上·桓温 (一)
时间: 2024-08-31 10:18:16