Hola Comunidad.
Les pongo el siguiente preambulo al caso para que puedan comprender:
tengo 3 tablas.
tabla etiquetas
tabla etiquetas_elementos
tabla elementos.
hasta ahi todo bien, pero ahora viene la cumbia, algunos datos:
Código MySQL:
Ver original-- phpMyAdmin SQL Dump
-- version 3.4.5deb1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 15-07-2013 a las 16:42:52
-- Versión del servidor: 5.1.67
-- Versión de PHP: 5.3.6-13ubuntu3.9
SET FOREIGN_KEY_CHECKS
=0; SET SQL_MODE
="NO_AUTO_VALUE_ON_ZERO"; SET time_zone
= "+00:00";
--
-- Base de datos: `test`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `elementos`
--
--
-- Volcado de datos para la tabla `elementos`
--
INSERT INTO `elementos` (`id_interno`, `nombre_elemento`, `descripcion_elemento`) VALUES (1, 'teclado', 'teclado de computador'),
(2, 'mesa comedor', 'mesa cuadrada de 4 asientos'),
(3, 'silla comedor', 'silla color cafe'),
(4, 'set cuchillos', 'cuchillos de cocina');
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `etiquetas`
--
--
-- Volcado de datos para la tabla `etiquetas`
--
(1, 'COMEDOR'),
(2, 'LIVING'),
(3, 'BANO'),
(4, 'COCINA'),
(5, 'DORMITORIO');
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `etiqueta_elemento`
--
--
-- Volcado de datos para la tabla `etiqueta_elemento`
--
INSERT INTO `etiqueta_elemento` (`id_interno`, `id_elemento`, `id_etiqueta`) VALUES (1, 1, 2),
(2, 1, 5),
(3, 2, 4),
(4, 3, 4),
(5, 2, 2);
SET FOREIGN_KEY_CHECKS
=1;
La idea es que de acuerdo a los datos publicados, la consulta sea capaz de obtenerme el(los) elementos que contengan la(las) etiquetas que yo especifique.
Estuve probando con lo siguiente, pero al parecer no me funciono.
Código MySQL:
Ver original*
FROM etiquetas_elementos ee
LEFT JOIN etiquetas eti
ON eti.id_interno
= ee.id_etiqueta
LEFT JOIN elementos e
ON e.id_interno
= ee.id_elemento
eti.descripcion
= 'COCINA' AND eti.descripcion
= 'LIVING'
//tambien habia probado con
IN
.....
eti.descripcion
IN ('COCINA' ,'LIVING')
Nota: este ejemplo es solo para explicar el funcionamiento del problema que tengo, pero no es que tenga asi las bases de datos en realidad.
Si alguien aporta alguna idea, se lo agradezco.