Sql 如何在左联接中公开不匹配的行

Sql 如何在左联接中公开不匹配的行,sql,google-bigquery,Sql,Google Bigquery,我无法返回id在t1和t2之间不匹配的任何记录 我只使用了左连接,是否应该使用其他类型的连接进行此查询 SELECT t2.service_date, t1.some_id, t2.service_sub_type, t2.subscriber_start_date, t2.service_channel_group, t1.value AS effort FROM `t1` AS ces LEFT JOIN `t2` AS sts ON t1.some_id =

我无法返回id在t1和t2之间不匹配的任何记录

我只使用了左连接,是否应该使用其他类型的连接进行此查询

SELECT
  t2.service_date,
  t1.some_id,
  t2.service_sub_type,
  t2.subscriber_start_date,
 t2.service_channel_group,
  t1.value AS effort
FROM
   `t1` AS ces
LEFT JOIN
 `t2` AS sts ON t1.some_id = t2.some_id
WHERE
  id IN ('ALK0290907',
    'RUS0290607',
    'RUS0290788',
    'ZAK8461Q001')
 AND customer_start_date > '2018-08-01'
 AND t2.some_id IS NULL      

我继续得到查询返回的0条记录

只需删除WHERE子句即可!因此,您将看到那些“不匹配”的为混淆而道歉(我的错)。我引用了some_id不匹配的记录,这里没有任何混淆-您只需使用where子句消除返回的结果。换句话说,不是左连接不返回结果,而是WHERE子句过滤掉结果。所以,删除WHERE子句以查看此内容。您可以添加一些示例数据和预期输出以澄清您想要的内容吗?您的文本也不匹配您的SQL,您说id,但您的联接在某个\u id上,您的where子句有id。由于我们不知道哪个表id在其中,Mikhail可能是正确的,因为它负责过滤掉您想要的内容。@clintondsm WHERE id应该是某个id所在的位置。尝试删除customer\u start\u date条件,看看您是否得到了什么。