我在这两个表上做了一些连接功能的困难。我简化了示例数据集,因为第一个表中包含额外的where子句,但这似乎不成问题。根据值连接表
我会写查询加盟下面两个表:
select a.prod_code, a.prod_name, b.ref_value from Product_code a
left join Product_reference b on a.prod_code = b.pref_code
where a.prod_code <> 'CURTAIN' and b.ref_value = 'MAN'
我现在面临的问题是,我想加入的表样的条件。即如果在Product_reference表中ref_type值是'MAN',我确实想加入它,否则不会。
例如,此查询在结果中不包含“Chair”,因为它在“Product_name”中没有可用的ref_type'MAN'。我所需要的仍然是在查询结果中显示它,只是没有从Product_reference表中加入值(假设ref_type'MAN'的值不存在),所以不要把它全部放在外面。
同时PRODUCT_NAME表记录“窗帘”应该离开(如果不考虑Product_reference ref_type“人”的存在与否)
任何建议?
Product_code
prod_code prod_name
A Table
B Chair
C Window
D Door
E Curtain
Product_reference
pref_code ref_type ref_value
A MAN x
A AUTO y
B AUTO z
C AUTO z1
C MAN x1
D AUTO zxc
E AUTO abc
E MAN cba
这是否帮助?选择a.prod_code,a.prod_name,从PRODUCT_CODE一个 b.ref_value左连接Product_reference b on a.prod_code = b.pref_code 其中a.prod_name <>'CURTAIN'和b.ref_type ='MAN' – dkb