我有以下查询:
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
。