Ir para conteúdo

POWERED BY:

Arquivado

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

allex_carvalho

[Resolvido] Inner Join

Recommended Posts

Boa tarde pessoal.

 

Possuo duas tabelas as quais preciso extrair os dados. a primeira é categoria e a segunda subcategoria. Vejam suas estruturas:

Categoria:

/*
MySQL Data Transfer
Source Host: qserver
Source Database: base_ifcanal
Target Host: qserver
Target Database: base_ifcanal
Date: 18/11/2011 16:04:02
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for categoria
-- ----------------------------
CREATE TABLE `categoria` (
 `idCategoria` int(11) NOT NULL AUTO_INCREMENT,
 `nomeCategoria` varchar(150) DEFAULT NULL,
 PRIMARY KEY (`idCategoria`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `categoria` VALUES ('1', 'Noticias');
INSERT INTO `categoria` VALUES ('2', 'Esporte');
INSERT INTO `categoria` VALUES ('3', 'Entretenimento');
INSERT INTO `categoria` VALUES ('4', 'Politica');
INSERT INTO `categoria` VALUES ('5', 'Videos');
INSERT INTO `categoria` VALUES ('6', 'Fotos');
INSERT INTO `categoria` VALUES ('7', 'Destaque');

 

Sub Categoria

/*
MySQL Data Transfer
Source Host: qserver
Source Database: base_ifcanal
Target Host: qserver
Target Database: base_ifcanal
Date: 18/11/2011 16:03:48
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for subcategoria
-- ----------------------------
CREATE TABLE `subcategoria` (
 `idSubCategoria` int(11) NOT NULL AUTO_INCREMENT,
 `idCategoria` int(11) DEFAULT NULL,
 `nomeSubCategoria` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`idSubCategoria`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `subcategoria` VALUES ('2', '4', 'Camara');
INSERT INTO `subcategoria` VALUES ('3', '1', 'Animal');
INSERT INTO `subcategoria` VALUES ('4', '1', 'Mundo');
INSERT INTO `subcategoria` VALUES ('5', '2', 'Natação');
INSERT INTO `subcategoria` VALUES ('6', '2', 'Formula 1');
INSERT INTO `subcategoria` VALUES ('7', '2', 'Volei');
INSERT INTO `subcategoria` VALUES ('9', '1', 'Brasil');
INSERT INTO `subcategoria` VALUES ('10', '3', 'Humor');
INSERT INTO `subcategoria` VALUES ('11', '3', 'Piadas');
INSERT INTO `subcategoria` VALUES ('12', '4', 'Brasilia');
INSERT INTO `subcategoria` VALUES ('13', '1', 'Partidos');
INSERT INTO `subcategoria` VALUES ('14', '5', 'Bizarro');
INSERT INTO `subcategoria` VALUES ('15', '5', 'Animal');
INSERT INTO `subcategoria` VALUES ('16', '6', 'Eventos');
INSERT INTO `subcategoria` VALUES ('17', '6', 'Festas');

 

Até ai beleza. Agora... Gostaria de extrair os dados das duas, porém, não gostaria de repetir as informações. Por exemplo: Formula 1, volei e natação estão dentro de esportes, gostaria que esportes só aparecesse 1 vez e aparecer as subcategorias cadastradas nela.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo allex_carvalho não há como não repetir e nem lógica em fazer isto. Se você quer ver o campo categoria e subcategoria e tem muitas subcategorias para uma unica categoria (1 pra muitos) ele vai repetir pois tem de informar que aquela subcategoria pertence aquela mesma categoria. Se você agrupar por categoria ele não vai mostrar todas as subcategorias. O que você quer fazer provavelmente terá de ser feito em um ambiente de programação e não de banco de dados. O que pode ser feito é criar uma view para cada categoria onde só serão mostradas as subcategorias contidas em cada uma. Mas isso na minha opnião é sem sentido e desnecessário. Explique melhor oque deseja fazer e o porque quer os dados assim que eu tento lhe mostrar a melhor forma possível (dentro dos meus conhecimentos é claro) de se fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo allex_carvalho não há como não repetir e nem lógica em fazer isto. Se você quer ver o campo categoria e subcategoria e tem muitas subcategorias para uma unica categoria (1 pra muitos) ele vai repetir pois tem de informar que aquela subcategoria pertence aquela mesma categoria. Se você agrupar por categoria ele não vai mostrar todas as subcategorias. O que você quer fazer provavelmente terá de ser feito em um ambiente de programação e não de banco de dados. O que pode ser feito é criar uma view para cada categoria onde só serão mostradas as subcategorias contidas em cada uma. Mas isso na minha opnião é sem sentido e desnecessário. Explique melhor oque deseja fazer e o porque quer os dados assim que eu tento lhe mostrar a melhor forma possível (dentro dos meus conhecimentos é claro) de se fazer.

 

Opaw Periscuelo, bom dia...

 

Seguinte. É uma idéia semelhante ao WordPress. Como mostra a imagem abaixo:

 

cat.jpg

 

Agrupar as categorias juntamente com suas subcategorias, listando por ordem alfabetica.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.