29/12/2004, 11:30
|
| | | Fecha de Ingreso: noviembre-2002 Ubicación: Santiago
Mensajes: 664
Antigüedad: 22 años Puntos: 4 | |
[MYSQL] Hacer consulta relacionando datos de 2 tablas hola, tengo 2 tablas
site_modules:
ID ||TITLE || FILE || DESCRIPTION
y en la otra almaceno permisos para varios "targets" que pueden ser modulos, bloques, o alguna opcion
site_permissions
TARGET_TYPE || TARGET || ENTITY_TYPE || ENTITY_ID || PERMISSION
con esta consulta a site_permissions obtengo una lista de los permisos que tiene el usuario para saber q modulos puede ver
Código:
SELECT target FROM site_permission WHERE target_type="mod_view" AND entity_type="l" AND entity_id="-1"
esta consulta me retorna:
+--------+
| target |
+--------+
| 0 |
| 1 |
| 2 |
+--------+
ahora me gustaría mezclar los datos de esa consulta para que en vez de retornarme los numero, me retorne los title de la primera tabla para que quedara algo asi
+------------------+
| target |
+------------------+
| titulo xx del mod 1 |
| titulo yy del mod 1 |
| titulo zz del mod 1 |
+------------------+
¿como puedo hacer esto con una consulta SQL y no con programacion?
+ detalles, aki un dump para que funcione mi ejemplo
Código:
CREATE TABLE `site_modules` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(100) NOT NULL default '',
`file` varchar(100) NOT NULL default '',
`template` varchar(100) NOT NULL default '',
`position` varchar(100) NOT NULL default '',
`description` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
--
-- Volcar la base de datos para la tabla `site_modules`
--
INSERT INTO `site_modules` VALUES (0, 'Principal', 'mod_home.php', '', '', '');
INSERT INTO `site_modules` VALUES (1, 'Noticias', 'mod_news.php', '', '', '');
INSERT INTO `site_modules` VALUES (2, 'Autores', '', '', '', '');
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `site_permission`
--
CREATE TABLE `site_permission` (
`target_type` varchar(100) NOT NULL default '',
`target` varchar(100) NOT NULL default '',
`entity_type` char(1) NOT NULL default '',
`entity_id` varchar(100) NOT NULL default '',
`permission` varchar(100) NOT NULL default '',
`description` varchar(100) NOT NULL default '',
PRIMARY KEY (`target`,`entity_type`,`entity_id`,`permission`,`target_type`)
) TYPE=MyISAM;
--
-- Volcar la base de datos para la tabla `site_permission`
--
INSERT INTO `site_permission` VALUES ('mod_view', '1', 'l', '0', '1', '');
INSERT INTO `site_permission` VALUES ('mod_view', '2', 'l', '0', '1', '');
INSERT INTO `site_permission` VALUES ('mod_view', '1', 'l', '-1', '1', '');
INSERT INTO `site_permission` VALUES ('mod_view', '0', 'l', '-1', '1', '');
|