您只需简单地获取仅存在于一个表中而不存在于另一个表中的地址 - 因此 JOIN 将其从结果中排除
如果您感兴趣的地址位于一个(第一个)表中但不在另一个(第二个)表中,则可以使用 LEFT JOIN 而不是 JOIN
如下例所示
#standardSQL
SELECT
from_address,
to_address,
value,
transaction_hash
FROM
`bigquery-public-data.crypto_ethereum.token_transfers` AS token_trs
LEfT JOIN
`bigquery-public-data.crypto_ethereum.contracts` AS contracts
ON
(contracts.address = token_trs.token_address)
WHERE
token_trs.token_address = '0x41dbecc1cdc5517c6f76f6a6e836adbee2754de3'
如果您出于某种原因需要 JOIN 才能工作 - 首先运行下面的查询以获取两个表中都存在的地址
#standardSQL
SELECT contracts.address
FROM `bigquery-public-data.crypto_ethereum.token_transfers` AS token_trs
JOIN `bigquery-public-data.crypto_ethereum.contracts` AS contracts
ON contracts.address = token_trs.token_address
LIMIT 10
从结果中获取任何地址并用它运行原始查询
例如:
#standardSQL
SELECT
from_address,
to_address,
value,
transaction_hash
FROM
`bigquery-public-data.crypto_ethereum.token_transfers` AS token_trs
JOIN
`bigquery-public-data.crypto_ethereum.contracts` AS contracts
ON
(contracts.address = token_trs.token_address)
WHERE
contracts.address = '0x298683bd77f17bca4f3fb37b5bf02f82ee81d3ef'
注意:我在您的地址值中看到多余的空格 - 很可能是复制粘贴问题,但想提一下