#sql
Вопрос:
Я работаю над учебником по BigQuery с набором данных ncaa. Есть идеи, что я могу здесь делать не так? Не уверен, почему t1 не распознается. Я получаю ошибку: «Имя таблицы» t1 «отсутствует набор данных, в то время как набор данных по умолчанию в запросе не задан».
SELECT
t1.name,
t2.name,
t1.venue_state,
t2.venue_state
FROM (
SELECT
*
FROM
`bigquery-public-data.ncaa_basketball.mbb_teams`
JOIN
`bigquery-public-data.ncaa_basketball.team_colors` id) AS t1
CROSS JOIN
t1 AS t2
WHERE
t1.venue_state=t2.venue_state
AND t1.color=t2.color
AND t1.market!=t2.market
ORDER BY
t1.name ASC
LIMIT
10
Если я дублирую вложенный выбор, он работает, но это не очень красиво.
SELECT
t1.name,
t2.name,
t1.venue_state,
t2.venue_state,
t1.color,
t2.color
FROM (
SELECT
*
FROM
`bigquery-public-data.ncaa_basketball.mbb_teams` AS T
JOIN
`bigquery-public-data.ncaa_basketball.team_colors` AS C ON C.id=T.id) AS t1
CROSS JOIN
(
SELECT
*
FROM
`bigquery-public-data.ncaa_basketball.mbb_teams` AS T
JOIN
`bigquery-public-data.ncaa_basketball.team_colors` AS C ON C.id=T.id) AS t2
WHERE
t1.venue_state=t2.venue_state AND t1.color=t2.color AND t1.name<>t2.name
ORDER BY
t1.name ASC
LIMIT
10
Любое объяснение или помощь были бы великолепны.
Комментарии:
1. Если вы хотите, чтобы запрос выполнялся, он должен начинаться с
SELECT
.