我有两张桌子X和Y
SELECT ser.entity_type,ser.param_name
FROM X as ser
where
ser.group_name like '%CRVJL%'
and ser.param_name like '%CBV%'
and ser.entity_type like '%SIGNON%'
SELECT reg.entity_type
FROM REGISTER_TB as reg
where
reg.group_name like '%CRVJL%' and reg.PROV_NAME like'%CBV%' and reg.PROV_NAME like'%-OD-%' and reg.ENTITY_TYPE like '%SIGNON%'
我从表格x中得到一些值,比如4行,我必须检查它们是否存在于y中,如果不存在则为-1,如果存在则为+1
Table should look like this
entity type param_name status
SIGNON CBV6815_I-OD-I 1
SIGNON CBV7815_I-OD-I 1
SIGNON CBV8815_I-OD-I -1
SIGNON CBV9815_I-OD-I 1
we have equal columns
X Y
entity_type entity_type
param-value prov_name
我尝试使用左连接联合和右连接,但它没有给我输出,因为我想。可以有人帮助我吗?
答案 0 :(得分:0)
使用此类查询,您必须替换表/字段名称以匹配您的架构
SELECT a.entity_type, a.param_name, IF(b.status IS NULL, -1, 1) AS 'status'
FROM
X AS a
LEFT OUTER JOIN Y AS b ON a.entity_type=b.entity_type AND a.group_name=b.group_name
WHERE
a.group_name LIKE '%CRVJL%'
AND a.param_name LIKE '%CBV%'
AND a.entity_type LIKE '%SIGNON%'
AND b.prov_name LIKE '%CBV-OD-%'