Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guga01

ordenação usando 2 tabelas

Recommended Posts

Olá pessoal!

 

Tenho duas tabelas para armazenar avisos:

 

CREATE TABLE `avisos` (
`idAviso` int(9) unsigned zerofill NOT NULL auto_increment,
`codigoSecreto` varchar(32) collate latin1_general_ci default NULL,
`titulo` varchar(50) collate latin1_general_ci default NULL,
`conteudo` text collate latin1_general_ci default NULL,
`data` date NULL,
PRIMARY KEY  (`idAviso`)) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

CREATE TABLE `destinatarios_avisos` (
`idDestinatarioAviso` int(9) unsigned zerofill NOT NULL auto_increment,
`idAviso` int(9) unsigned zerofill NULL,
`idAdministrador` int(9) unsigned zerofill NULL,
`idFuncionario` int(9) unsigned zerofill NULL,
PRIMARY KEY  (`idDestinatarioAviso`), 
FOREIGN KEY (`idAviso`)
REFERENCES avisos(`idAviso`)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (`idAdministrador`)
REFERENCES administradores(`idAdministrador`)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (`idFuncionario`)
REFERENCES funcionarios(`idFuncionario`)
ON DELETE RESTRICT
ON UPDATE CASCADE) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

 

Minha dúvida é: como faço para listar todos os avisos de um determinado funcionário, por exemplo, ordenados pela data? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT * FROM avisos a

INNER JOIN destinatarios_avisos d ON (a.idAviso = d.idAviso)

ORDER BY a.idAviso --ou outro qualquer campo

 

 

Olá pessoal!

 

Tenho duas tabelas para armazenar avisos:

 

CREATE TABLE `avisos` (
`idAviso` int(9) unsigned zerofill NOT NULL auto_increment,
`codigoSecreto` varchar(32) collate latin1_general_ci default NULL,
`titulo` varchar(50) collate latin1_general_ci default NULL,
`conteudo` text collate latin1_general_ci default NULL,
`data` date NULL,
PRIMARY KEY  (`idAviso`)) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

CREATE TABLE `destinatarios_avisos` (
`idDestinatarioAviso` int(9) unsigned zerofill NOT NULL auto_increment,
`idAviso` int(9) unsigned zerofill NULL,
`idAdministrador` int(9) unsigned zerofill NULL,
`idFuncionario` int(9) unsigned zerofill NULL,
PRIMARY KEY  (`idDestinatarioAviso`), 
FOREIGN KEY (`idAviso`)
REFERENCES avisos(`idAviso`)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (`idAdministrador`)
REFERENCES administradores(`idAdministrador`)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (`idFuncionario`)
REFERENCES funcionarios(`idFuncionario`)
ON DELETE RESTRICT
ON UPDATE CASCADE) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

 

Minha dúvida é: como faço para listar todos os avisos de um determinado funcionário, por exemplo, ordenados pela data? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
... como faço para listar todos os avisos de um determinado funcionário, por exemplo, ordenados pela data?

 

SELECT * FROM avisos a
INNER JOIN destinatarios_avisos d ON (a.idAviso = d.idAviso)
WHERE idFuncionario = '12345'
ORDER BY data

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.