全新的网站,这是我的第一个问题!对不起,我的SQL技能非常有限。我主要使用Tableau但需要在Tableau中创建自定义SQL连接。
我有2个表(C表和P表),需要通过“Orders”字段(在两个表中找到)和“Prefix”字段(仅在C表中找到但希望更改P表中的“契约”字段做加入)。只需要更改两个值。如果合同=“1234”,则将更改为“ABC。并且合同=”5678“它将更改为”XYZ“。
更改这些值后,P表中的合同可以从C表连接到前缀。
抱歉,我无法解释这个问题,但就像我说我在SQL方面的经验非常有限。任何帮助将不胜感激!
答案 0 :(得分:1)
您可以使用子查询来完成。
select *
from C
inner join (
select *,
case contract when 1234 then ABC
when 5678 then XYZ
else contract
end as changed_contract -- or whatever name you like
from P
) P on P.changed_contract = C.prefix
and P.orders = C.orders
子查询中的表格将为您提供P中的所有字段,包括一个新字段,该字段将您所做的修改记入帐户。然后,您只需加入该新字段并更改您的select语句以获取所需的字段。
答案 1 :(得分:0)
您可以使用case
修改contract
某些值。像:
select prefix + ' ' + case contract
when '1234' then 'ABC'
when '5678' then 'XYZ'
else contract
end as prefix_plus_contract
, *
from c
join p
on c.orders = p.orders