我要提取完全匹配的数据,而不是部分匹配的数据。
但是,如果执行以下sql代码,则无法提取它们:
我估计此sql代码未提取任何数据,但这将提取所有数据行。
【SQL代码】
WITH a AS(
SELECT
001 AS id_a,
112345678901234567 AS x
UNION ALL
SELECT
002,
112345678901233567
UNION ALL
SELECT
003,
112345678901232568
),
comp_a AS(
SELECT
*
FROM
a
WHERE
x IN(112345678901234000, 112345678901233000, 112345678901232000)
),
comp_b AS(
SELECT
004 AS id_b
UNION ALL
SELECT
005
)
SELECT
id_a,
id_b
FROM
comp_a
LEFT OUTER JOIN
comp_b
ON (
comp_a.id_a = comp_b.id_b
)
WHERE
comp_b.id_b IS NULL
;
我认为“ in”子句用于完美匹配。 但是,也许,我认为此sql代码不是在“ in”子句中执行,而是在“ like”子句中执行。
很高兴您回答我的问题的解决方案。
■进一步说明:
・删除了浏览器以及Bigquery的现金。但是我解决不了
・该sql代码为示例代码,因为我无法公开真实的sql代码。
・能在BigQuery的一个环境中重现此问题,
但我无法在BigQuery的其他环境中重新创建。
此问题可能不是sql代码问题,而是环境问题
或设置。
答案 0 :(得分:0)
谢谢您回答我的问题。
我解决了我的问题。 我的问题的原因不是BigQuery,而是Excel的格式。
详细信息: 我尝试使用Excel检查数据,因为结果包含大量数据。 遗憾地讲,由于Excel的格式是数字的类型,数量的数据的一部分被倒圆。所以我把正确的结果误解为错误的结果。
对不起,我误会了。