我有两个表SAMPLE_CODE和SAMPLE_CODE_TYPE以及几个表。SAMPLE_CODE中有21行,SAMPLE_CODE_TYPE中有4行。两个表都有类似的列code_type字符串。除此之外,所有列模式都是不同的。当我查询
SELECT * FROM"MYPROJECT.MYDATASET.SAMPLE *在哪里_TABLE_SUFFIX = '_CODE'
——这里我硬编码了'_CODE'值,但实际上是这个值来自另一个子查询。但我硬编码的那个不是给出期望的输出。
——我希望这个查询选择SAMPLE_CODE表,但是这个查询的输出不是这样。它打印21行SAMPLE_CODE_TYPE,而该表中只有4行,而SAMPLE_CODE表中只有21行。这是两张表之间的混合匹配吗?这怎么可能呢?谁能告诉我应该对查询做些什么,以便它根据_TABLE_SUFFIX值获取SAMPLE_CODE表的值?我错过了什么?
谢谢
使用LIKE
运算符:
SELECT *
FROM `MYPROJECT.MYDATASET.SAMPLE`
WHERE `_TABLE_SUFFIX` LIKE '%\_CODE%';