主表“video_index”包含“author_index”和“category_index”的外键。
“feature_main_rel”表包含“video_index”
的外键我想加入所有这些,以便只有有效作者和有效作者的有效视频。显示功能周期内的类别。我尝试了以下查询,但收到了错误
查询:
SELECT
*
FROM
author_index AS a JOIN (
SELECT
*
FROM
video_index
JOIN
feature_main_rel
ON
video_index.id = feature_main_rel.video_id
) AS fv
ON a.id = fv.author_id
JOIN category_index AS c
ON fv.category_id = c.id
WHERE
video_index.remove = '0' AND
video_index.active = '1' AND
video_index.publish_start <= '$current_time' AND
video_index.publish_end >= '$current_time' AND
author_index.remove = '0' AND
author_index.active = '1' AND
category_index.remove = '0' AND
category_index.active = '1' AND
feature_main_rel.remove = '0' AND
feature_main_rel.active = '1' AND
feature_main_rel.start <= '$current_time' AND
feature_main_rel.end >= '$current_time'
GROUP BY
video_index.id
ORDER BY
RAND()
LIMIT
1
错误:
SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'id'
答案 0 :(得分:0)
http://dev.mysql.com/doc/refman/5.7/en/from-clause-subqueries.html
子查询选择列表中的任何列都必须具有唯一的名称。
因此,您应该明确命名子选择中的列,因为似乎有id
- 列然后与外部select *
碰撞