当然,这是一个愚蠢的语法错误,但我是sql:1054的初学者.未知列错误



我有以下查询:

SELECT
INIZIO.idinizio AS id,
inizio,
fine,
barca
FROM
(
(
SELECT
ID AS idinizio ,
meta_value AS inizio,
term_taxonomy_id AS barca
FROM
wp_posts
INNER JOIN wp_postmeta ON(
ID = post_id AND post_type = 'tribe_events' AND meta_key = '_EventStartDate' AND(
post_status = 'publish' OR post_status = 'private'
)
)
INNER JOIN wp_term_relationships ON(
ID = object_id
)
) AS INIZIO
INNER JOIN
(
SELECT
ID AS idfine,
meta_value AS fine
FROM
wp_posts
INNER JOIN wp_postmeta ON(
ID = post_id AND post_type = 'tribe_events' AND meta_key = '_EventEndDate' AND(
post_status = 'publish' OR post_status = 'private'
)
)
) AS FINE
ON (idinizio = idfine)
)

当我运行它时,我会得到以下错误:

Error Code: 1054. Unknown column 'idinizio' in 'field list'

我的桌子的图像

为什么我会出现此错误?

当然,在子查询或某些表别名中,这将是初学者的错误。

更新:

我现在意识到我已经把AS的所有条款都颠倒了。。我修复了,现在给我这个错误:

#1054 - Colonna sconosciuta 'posts.idinizio' in 'on clause'

更新:我把表前缀弄错了,我修复了它,现在一切都正常了,非常感谢你让我注意到错误!

您应该将idinizio列替换为底部的ID作为ON (INIZIO.ID = FINE.idfine),因为您已经在上面的内部查询中将该列别名为ID

最新更新