【问题标题】:SQL subqueries code which return unexpected results: "This query returned no results."返回意外结果的 SQL 子查询代码:“此查询未返回任何结果。”
【发布时间】:2021-12-03 02:54:18
【问题描述】:

我按照视频教程尝试了这个 SQL 子查询代码,但是当我运行它时返回了意外的结果:“这个查询没有返回任何结果。”我逐字复制,包括数据库表名。语法没有问题,因为数据库没有提示任何错误消息。我附在示例代码下方。 P/S:根据图片参考,所有表名及其路径都是正确的。

SELECT
    station_id,
    name
FROM 
    bigquery-public-data.new_york.citibike_stations
WHERE 
    station_id IN
    (
        SELECT 
            start_station_id
        FROM 
            bigquery-public-data.new_york.citibike_trips
        WHERE
            usertype = 'subscriber'
    ) 

代码图片和返回结果“This query returned no results”:

【问题讨论】:

  • 似乎 citibike_trips 表中没有 usertype = 'subscriber' 的行,或者 citibike_stations 表中没有从子查询返回的 station_id 的行
  • 放入一些数据而不是附加图像

标签: sql google-bigquery subquery


【解决方案1】:

首先要做的是确认这两个子查询之间有匹配的 station_ids。如果有,那么您可以使用如下的公用表表达式。

WITH trip_ids AS (
    SELECT start_station_id
    FROM bigquery-public-data.new_york.citibike_trips
    WHERE usertype = 'subscriber'
)
SELECT station_id, name
FROM bigquery-public-data.new_york.citibike_stations b
INNER JOIN trip_ids ON b.station_id = trip_ids.start_station_id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 2015-05-06
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    相关资源
    最近更新 更多