I make such a request

SELECT `serial`.`id`, `serial`.`name_serial`, `serial`.`slug_serial`, `serial`.`nesting`, `serial`.`year`, `film`.`id`, `film`.`name_film`, `film`.`slug_film`, `film`.`nesting`, `film`.`year`, `mfilm`.`id`, `mfilm`.`name_mfilm`, `mfilm`.`slug_mfilm`, `mfilm`.`nesting`,`year` 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`=1 

I would like fields such as name_seria, name_film, name_mfilm to receive as name, as I understand it, for this you need to use an alias, but I don’t know how

    1 answer 1

    To assign an alias to a column, use the keyword AS

     SELECT `fl_serial`.`id` id_serial, `fl_serial`.`name_serial` AS name_serial, `fl_serial`.`slug_serial` AS slug_serial, `fl_serial`.`nesting` AS nesting_serial, `fl_serial`.`year` AS year_serial, `fl_film`.`id` As id_film, `fl_film`.`name_film` AS name_film, `fl_film`.`slug_film` AS slug_film, `fl_film`.`nesting` AS nesting_film, `fl_film`.`year` AS year_film, `fl_mfilm`.`id` AS id_mfilm, `fl_mfilm`.`name_mfilm` AS name_mfilm, `fl_mfilm`.`slug_mfilm` AS slug_mfilm, `fl_mfilm`.`nesting` AS nesting_mfilm, 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`= 1 

    And you can assign pseudonyms not only to columns, but also to tables. Then the request will be more compact.

     SELECT s.`id` id_serial, s.`name_serial` AS name_serial, s.`slug_serial` AS slug_serial, s.`nesting` AS nesting_serial, s.`year` AS year_serial, f.`id` As id_film, f.`name_film` AS name_film, f.`slug_film` AS slug_film, f.`nesting` AS nesting_film, f.`year` AS year_film, m.`id` AS id_mfilm, m.`name_mfilm` AS name_mfilm, m.`slug_mfilm` AS slug_mfilm, m.`nesting` AS nesting_mfilm, FROM `fl_cat_serial` LEFT JOIN `fl_serial` AS s ON fl_cat_serial.id_serial = fl_serial.id LEFT JOIN `fl_film` AS f ON fl_cat_serial.id_film = fl_film.id LEFT JOIN `fl_mfilm` AS m ON fl_cat_serial.id_mfilm = fl_mfilm.id WHERE `fl_cat_serial`.`id_cat`= 1 
    • You didn’t understand me a bit, instead of name_serial, name_film, name_mfilm, so that I could use it at the output for example object-> name - Sergalas
    • Assign an alias AS name and you can use object-> name, but the alias must be unique. Two columns assign AS name fails. - cheops pm
    • and through concat? - Sergalas
    • Yes you can, but in this case you will get the string CONCAT (s.name_serial, '', f.name_film, '', m.name_mfilm) AS name. If you have only one value accepts a string value, and the rest NULL, then you can use the COALESCE function: COALESCE (s.name_serial, f.name_film, m.name_mfilm) AS name - cheops
    • Thank you very much helped - Sergalas