I make a request

SELECT COUNT(*) FROM ( SELECT `fl_serial`.`id`, `fl_serial`.`name_serial`, `fl_serial`.`slug_serial`, `fl_serial`.`description_serial`, `fl_serial`.`nesting`, `fl_serial`.`year`, `fl_serial`.`country_title`, `fl_film`.`id`, `fl_film`.`name_film`, `fl_film`.`slug_film`, `fl_film`.`description_film`, `fl_film`.`nesting`, `fl_film`.`year`, `fl_film`.`country_title`, `fl_mfilm`.`id`, `fl_mfilm`.`name_mfilm`, `fl_mfilm`.`slug_mfilm`, `fl_mfilm`.`description_mfilm`, `fl_mfilm`.`nesting`, `fl_mfilm`.`year`, `fl_mfilm`.`country_title`, `fl_cat_serial`.`id`, COALESCE(`fl_serial`.`id`, `fl_film`.`id`, `fl_mfilm`.`id` ) AS `ids`, COALESCE(`fl_serial`.`name_serial`, `fl_film`.`name_film`, `fl_mfilm`.`name_mfilm` ) AS `name`, COALESCE(`fl_serial`.`slug_serial`, `fl_film`.`slug_film`, `fl_mfilm`.`slug_mfilm`) AS `slug`, COALESCE(`fl_serial`.`description_serial`, `fl_film`.`description_film`, `fl_mfilm`.`description_mfilm`) AS `description`, COALESCE(`fl_serial`.`nesting`, `fl_film`.`nesting`, `fl_mfilm`.`nesting` ) AS `nesting`, COALESCE(`fl_serial`.`year`, `fl_film`.`year`, `fl_mfilm`.`year` ) AS `years`, COALESCE(`fl_serial`.`country_title`, `fl_film`.`country_title`, `fl_mfilm`.`country_title` ) AS `country_title` FROM `fl_cat_serial` LEFT JOIN `fl_serial` ON fl_cat_serial.id_serial = fl_serial.id LEFT JOIN `fl_film` ON fl_cat_serial.id_film = fl_film.id LEFT JOIN `fl_mfilm` ON fl_cat_serial.id_mfilm = fl_mfilm.id WHERE `fl_cat_serial`.`id_cat`=12 GROUP BY `ids`) `c` 

I get the following error

 #1060 - Duplicate column name 'id' 

why

  • Give one of the other names to your id, i.e. alias type fl_film.id as film_id . Rather, even three - Mike
  • @Mike here COALESCE ( fl_serial . id , fl_film . id , fl_mfilm . id ) AS ids ,? - Sergalas
  • But no, here is the first immediately after select SELECT fl_serial.id, and further in the list of columns there are 3 more columns with the same names. And the query should not return columns of the same name, otherwise how to distinguish them later - Mike

1 answer 1

The request contains fl_serial.id , fl_film.id , fl_mfilm.id and fl_cat_serial.id . Add aliases or remove fields from the selection.

  • Maybe this is somehow related to the fact that they are in some tricky quotes. Should it work without any aliyas? - Sergey