如何解决当 1 列中的 2 个结果在另一列中具有相同的结果时
在 collection_ref 下面的示例数据中,将进行 3 或 4 次移动,但关键 2 是购买和销售。移动完成后,批准的供应链将为 1。 我想当运动是销售和供应链批准为 1 时,然后为所有具有相同集合引用的行创建一个新列,以显示“已完成”,否则为“杰出”......有任何想法吗?
提前致谢
SELECT DISTINCT a.bulk_type_code,a.bulk_number,a.supplier_contract_ref,a.supplier_consignment_ref,a.supplier_org_code,a.supplier_org_name,a.collection_ref,a.raw_weight_tons,a.financial_net_weight_tons,a.purchase_weight_tons,a.delivery_date,b.delivery_term_code,b.delivery_term_description,c.week_number
FROM bi.bulk_subcontainer_pricing_group_summary a
LEFT JOIN bi.contracts b ON a.supplier_contract_number = b.contract_number
OR a.purchaser_contract_number = b.contract_number
INNER JOIN bi.weeks c ON a.delivery_date BETWEEN c.start_date AND c.end_date
WHERE a.delivery_date BETWEEN @DFrom AND @DTo
AND a.bulk_type_code IN (@BulkType)
AND a.business_unit_code = 'OLLIMP'
AND a.pricing_type_group_code = @pricing_hidden
ORDER BY a.collection_ref
解决方法
如果您可以共享架构而不是写出列/键名,那将会很有帮助。
听起来你想要的是这样的
Select Case when Bulk_Type_Code = 'Sale' and Supply_Chain_Approved = 1 then 'Completed'
when Bulk_Type_Code = 'Sale' and Supply_Chain_Approved = 0 then 'Outstanding'
else NULL end as CalculatedColumn
如果 Bulk_Type_Code 不是 sale,那么该列将为空。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。