[SQL] Select com LIMIT em LEFT JOIN por id. | Fórum | School of Net

Deseja poder participar de nosso fórum e tirar todas as suas dúvidas?
Clique aqui e assine nosso plano de acesso ilimitado. Saiba mais.

por Felipe

2 semanas atrás Felipe

[SQL] Select com LIMIT em LEFT JOIN por id.

Bom dia, Estou precisando de uma ajuda para montar um sql, supondo as tabelas: ```sql CREATE TABLE `items` ( `id` INT NOT NULL AUTO_INCREMENT, `parent` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL, PRIMARY KEY (`id`)); CREATE TABLE `sub_items` ( `id` INT NOT NULL AUTO_INCREMENT, `child` VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL, `parent_id` INT NOT NULL, PRIMARY KEY (`id`)); INSERT INTO `items` (parent) VALUES ('Main item1'); INSERT INTO `items` (parent) VALUES ('Main item2'); INSERT INTO `items` (parent) VALUES ('Main item3'); INSERT INTO `sub_items` (`child`, `parent_id`) VALUES ('Child Item11', '1'); INSERT INTO `sub_items` (`child`, `parent_id`) VALUES ('Child Item12', '1'); INSERT INTO `sub_items` (`child`, `parent_id`) VALUES ('Child Item13', '1'); INSERT INTO `sub_items` (`child`, `parent_id`) VALUES ('Child Item21', '2'); INSERT INTO `sub_items` (`child`, `parent_id`) VALUES ('Child Item22', '2'); INSERT INTO `sub_items` (`child`, `parent_id`) VALUES ('Child Item23', '2'); INSERT INTO `sub_items` (`child`, `parent_id`) VALUES ('Child Item24', '2'); INSERT INTO `sub_items` (`child`, `parent_id`) VALUES ('Child Item31', '3'); SELECT * FROM items as i LEFT JOIN (SELECT * FROM sub_items LIMIT 2) as si ON i.id = si.parent_id; ``` Preciso fazer um sql onde ele me traga o limit por id, nesta consulta de exemplo o resultado daria isso: ``` id parent id child parent_id 1 Main item1 1 Child Item11 1 1 Main item1 2 Child Item12 1 2 Main item2 null null null 3 Main item3 null null null ``` Eu precisava o limit por id da tabela pai, se eu colocar o where ele busca somente de um, posso fazer outra query para armazenar os ids em um array e depois colocar um where com IN (array), mas queria saber se existe alguma outra maneira.

5 Respostas