Pessoal,
Eu consigo selecionar os dados assim:
E gostaria de remover os dados que retornam dessa query. Tentei sem sucesso:
Eu imagino que seja possível fazer o que quero, certo?
Pessoal,
Eu consigo selecionar os dados assim:
E gostaria de remover os dados que retornam dessa query. Tentei sem sucesso:
Eu imagino que seja possível fazer o que quero, certo?
Na sua instrução de DELETE, no lugar do igual coloque IN
Ficaria:
Eu tentei isso que você me sugeriu, mas retornou o seguinte erro:
antes de tudo, qual banco de dados você esta usando?
a sugestão do renato está correta, mas isso depende de se na sua tabela groups tem uma coluna chamada id (e de preferencia que ela seja unica como uma primary key por exemplo).
caso não tenha essa coluna, use alguma coluna unica no lugar de id no exemplo dele.
O banco é o MySQL e as tabelas da query são definidas assim:
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`course_id` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`max_people` int(11) DEFAULT NULL,
`min_people` int(11) DEFAULT NULL,
`price` decimal(10,2) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`questionary_id` int(11) DEFAULT NULL,
`required_evaluation` tinyint(1) DEFAULT '0',
`close_registration` tinyint(1) DEFAULT NULL,
`publish` tinyint(1) DEFAULT '1',
`old_id` int(11) DEFAULT NULL,
`no_course_days` tinyint(1) DEFAULT NULL,
`training_company_id` int(11) DEFAULT NULL,
`test_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1516 ;
CREATE TABLE IF NOT EXISTS `courses` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) DEFAULT NULL,
`publication_date` datetime DEFAULT NULL,
`archive_date` datetime DEFAULT NULL,
`description` text,
`duration` varchar(255) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`client_id` int(11) DEFAULT NULL,
`project_number` varchar(255) DEFAULT NULL,
`e_learning_url` varchar(255) DEFAULT NULL,
`test_id` int(11) DEFAULT NULL,
`waiting_list` tinyint(1) DEFAULT NULL,
`waiting_list_time` int(11) DEFAULT NULL,
`summary` varchar(255) DEFAULT NULL,
`materials_available` tinyint(1) DEFAULT '1',
`waiting_list_always` tinyint(1) DEFAULT NULL,
`no_groups_or_all_groups_are_full` tinyint(1) DEFAULT NULL,
`old_id` int(11) DEFAULT NULL,
`waiting_list_state` varchar(255) DEFAULT 'never',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=742 ;
bom… segunda a pagina do próprio banco ( http://dev.mysql.com/doc/refman/4.1/pt/any-in-some-subqueries.html ) a sintaxe seria essa mesma… se não esta funcionando ai deve ser bug (ou alguma coisa que não vimos que está errado.
o SQL abaixo que esta dentro do IN esta retornando a lista de gr.id???
SELECT gr.id FROM groups gr, courses co WHERE gr.course_id = co.id AND co.client_id = 5
Abração :!:
Max
sim, retorna, sim!