Ir para conteúdo

POWERED BY:

Arquivado

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

ebdt

preciso de uma seleção (SELECT), mas está difícil

Recommended Posts

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

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

×

Informação importante

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