如何使用另一个表的另一列的组合验证表的列?

时间:2016-10-17 05:20:00

标签: sql sas

我必须检查一个表中存在的字段的验证,其中包含另一个表中的字段。 我有一个在(主表)中存在Check_Field的表,并且必须将此Check_Field验证为另一个表中存在的另外两个字段的组合(表2)。

主要表

Check_Field 
-------------

Field_1%Field_2%

表2

Field_1      Field_2
----------------------

 ABC           XYZ           

在(主表)中,我必须检查字段(Check_Field),其中包含表2中Field_1的值,后跟一组预定义字符,后面再次跟随表2中的Field_2值和另一组预定义字符字符。

2 个答案:

答案 0 :(得分:0)

你可以这样做。

类型:

select * 
    from main_table 
  where check_field in (
     select field_1 from table2
 )

如果表2中存在,则返回值。

答案 1 :(得分:0)

类似的东西:

ItemAnimator

如果必须使用特定的附加字符验证字符串,则可以删除LIKE并在查询中插入字符。

例如,如果您需要检查"(field1)XX(field2)ZZ"等模式。查询将是:

SELECT * FROM MAIN_TABLE M
   WHERE EXISTS (
            SELECT 1 
              FROM  TABLE2 C
             WHERE M.CHECK_FIELD LIKE C.FIELD1¦¦'%'¦¦C.FIELD2¦¦'%'
        )