Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas tardes,
Tenho uma duvida numa query mysql gostava de saber se é possivel e se me podem ajudar,
vou simplificar as tabelas.
Passo a explicar, tenho duas tabelas, a primeira empresas e a segunda utilizadores.
A minha ideia é guardar na tabela empresas quem criou(c_user) e alterou(m_user) a respetiva empresa.
E ao fazer uma consulta ele devolver os dados todos da empresa, mas em vez de retornar o id do user(c_user e m_user) retornar a sigla do respetivo user.
Base de dados
CREATE TABLE `empresas` (
`_id` int(11) NOT NULL AUTO_INCREMENT,
`nome` text COLLATE utf8_unicode_ci NOT NULL,
`email` text COLLATE utf8_unicode_ci NOT NULL,
`cdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`mdate` datetime NOT NULL,
`c_user` int(11) NOT NULL,
`m_user` int(11) NOT NULL,
PRIMARY KEY (`_id`),
KEY `c_user` (`c_user`),
KEY `m_user` (`m_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
CREATE TABLE `user_login` (
`_id` int(11) NOT NULL AUTO_INCREMENT,
`nome` text COLLATE utf8_unicode_ci NOT NULL,
`sigla` tinytext COLLATE utf8_unicode_ci,
`email` text COLLATE utf8_unicode_ci NOT NULL
PRIMARY KEY (`_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;
ALTER TABLE `empresas`
ADD CONSTRAINT `empresas_ibfk_1` FOREIGN KEY (`c_user`) REFERENCES `user_login` (`_id`),
ADD CONSTRAINT `empresas_ibfk_2` FOREIGN KEY (`m_user`) REFERENCES `user_login` (`_id`);
Query
A minha ideia era algo do genero:
SELECT empresas.*, user_login.sigla
FROM empresas,user_login
WHERE empresas.c_user = user_login._id
AND empresas.m_user = user_login._id <---- errada - até este ponto ele faz o que quero que é trocar o numero do c_user pela sigla, mas ao tentar fazer o mesmo ao m_user ele não responde corretamente
Desde já agradeço,
Este é o meu primeiro tópico aqui no forum
Carregando comentários...