ebdt 0 Denunciar post Postado Novembro 13, 2012 preciso fazer um select mas não estou obtendo sucesso. minha SQL esta assim, por enquanto: SELECT va.id, va.imagem, va.titulo, va.data_hora AS data, va.texto, colab.nome, (SELECT categoria_slug FROM categorias WHERE id = va.categoria) AS idCat FROM video_aulas va, colaboradores colab, categorias cat, subcategorias subcat WHERE va.`status` = 1 AND va.autor = colab.id AND va.categoria = 1 no lugar do va.categoria = 1, tenho que pegar por string, pois estou usando url amigáveis, então, o valor da categoria vem como string e não como número, só que minha tabela video_aula não armazena o valor da categoria em string e sim em número (id)... estrutura das minhas tabelas: /* Navicat MySQL Data Transfer Source Server : local Source Server Version : 50524 Source Host : localhost:3306 Source Database : mvt Target Server Type : MYSQL Target Server Version : 50524 File Encoding : 65001 Date: 2012-11-13 18:14:40 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `categorias` -- ---------------------------- DROP TABLE IF EXISTS `categorias`; CREATE TABLE `categorias` ( `id` int(11) NOT NULL AUTO_INCREMENT, `categoria` varchar(30) NOT NULL, `categoria_slug` varchar(40) NOT NULL, `data_hora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `status` char(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of categorias -- ---------------------------- INSERT INTO `categorias` VALUES ('1', 'desenvolvimento web', 'desenvolvimento-web', '2012-11-11 13:46:16', '1'); INSERT INTO `categorias` VALUES ('2', 'design e criacao', 'design-criacao', '2012-11-11 13:46:47', '1'); INSERT INTO `categorias` VALUES ('3', 'bando de dados', 'bando-de-dados', '2012-11-11 13:47:06', '1'); -- ---------------------------- -- Table structure for `colaboradores` -- ---------------------------- DROP TABLE IF EXISTS `colaboradores`; CREATE TABLE `colaboradores` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(60) NOT NULL, `email` varchar(70) NOT NULL, `site` varchar(80) DEFAULT NULL, `data_hora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `status` char(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of colaboradores -- ---------------------------- INSERT INTO `colaboradores` VALUES ('1', 'Jose Nivaldo', 'junior.eberhardt@gmail.com', 'www.maisvideostutoriais.com', '2012-11-11 13:27:09', '1'); INSERT INTO `colaboradores` VALUES ('2', 'Ana Claudia', 'aj_eberhardt@hotmail.com', null, '2012-11-11 13:27:33', '1'); -- ---------------------------- -- Table structure for `subcategorias` -- ---------------------------- DROP TABLE IF EXISTS `subcategorias`; CREATE TABLE `subcategorias` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_categoria` int(11) NOT NULL, `subcategoria` varchar(60) NOT NULL, `subcategoria_slug` varchar(70) NOT NULL, `data_hora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `status` char(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of subcategorias -- ---------------------------- INSERT INTO `subcategorias` VALUES ('1', '1', 'php', 'php', '2012-11-11 13:48:47', '1'); INSERT INTO `subcategorias` VALUES ('2', '1', 'asp', 'asp', '2012-11-11 13:48:48', '1'); INSERT INTO `subcategorias` VALUES ('3', '2', 'photoshop', 'photoshop', '2012-11-11 13:49:18', '1'); INSERT INTO `subcategorias` VALUES ('4', '2', 'corel draw', 'corel-draw', '2012-11-11 13:49:32', '1'); INSERT INTO `subcategorias` VALUES ('5', '3', 'mysql', 'mysql', '2012-11-12 18:48:46', '1'); INSERT INTO `subcategorias` VALUES ('6', '3', 'postgree', 'postgree', '2012-11-12 18:49:01', '1'); -- ---------------------------- -- Table structure for `video_aulas` -- ---------------------------- DROP TABLE IF EXISTS `video_aulas`; CREATE TABLE `video_aulas` ( `id` int(11) NOT NULL AUTO_INCREMENT, `autor` int(11) NOT NULL, `categoria` char(2) NOT NULL, `subcategoria` char(2) NOT NULL, `imagem` varchar(255) NOT NULL, `titulo` varchar(255) NOT NULL, `titulo_slug` varchar(255) NOT NULL, `texto` text NOT NULL, `data_hora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `status` char(2) NOT NULL DEFAULT '0', `visitas` int(11) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of video_aulas -- ---------------------------- INSERT INTO `video_aulas` VALUES ('1', '1', '1', '1', 'img1.jpg', 'Web', 'post-20-de-2012', 'Treinador condena péssimo primeiro tempo do Fluminense, elogia entrega na etapa final, mas admite que derrota foi justa em lance de genialidade', '2012-10-20 20:05:24', '1', '10'); INSERT INTO `video_aulas` VALUES ('3', '2', '1', '2', 'img2.jpg', 'Criacao', 'carrinho-com-checkbox-parte-1-3-preparacao-para-terminar', 'Pessoal tudo bem ?\r\nQuero nesse vídeo, ou melhor, nesses dois vídeos, tirar uma dúvida do fórum.\r\nA dúvida foi a seguinte, como faz para adicionar produtos ao carrinho de compras usando um checkbox, ao selecionar ele automaticamente ja vai ser adicionado ao carrinho.', '2012-10-21 20:32:47', '1', '30'); INSERT INTO `video_aulas` VALUES ('4', '1', '2', '3', 'img1.jpg', 'Banco de Dados', 'esse-eh-o-post-53', 'Texto para encher linguiça', '2012-10-18 20:33:40', '1', '2'); INSERT INTO `video_aulas` VALUES ('5', '2', '2', '4', 'img2.jpg', 'Web', 'mais-um-post-para-todos', 'Texto para encher linguiça', '2012-10-17 20:19:25', '1', '19'); INSERT INTO `video_aulas` VALUES ('11', '1', '2', '5', 'img1.jpg', 'Criacao', 'meu-ultimo-post-adicionado-para-testes', 'Texto para encher linguica do meu ultimo post adicionado', '2012-11-11 14:04:10', '1', '1'); INSERT INTO `video_aulas` VALUES ('12', '2', '2', '6', 'img2.jpg', 'Banco de Dados', 'ultimissimo-post', 'Texto para encher linguica do meu ultimo post adicionado', '2012-11-11 14:26:01', '1', '1'); Compartilhar este post Link para o post Compartilhar em outros sites
marceloaltmann 0 Denunciar post Postado Novembro 13, 2012 no momento, tu nao esta usando a tabela de subcategorias, entao retirei ela do select SELECT va.id, va.imagem, va.titulo, va.data_hora AS data, va.texto, colab.nome, cat.categoria_slug AS idCat FROM video_aulas va JOIN colaboradores colab ON va.autor = colab.id JOIN categorias cat ON va.categoria = cat.id WHERE va.`status` =1 AND cat.categoria_slug = 'desenvolvimento-web' Compartilhar este post Link para o post Compartilhar em outros sites