Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como mysql

Tips semanales #2

Suma de Entradas y Salidas El problema reside en realizar una suma de dos campos en tablas distintas (entradas y salidas) con un enlace común (artículos), el DER correspondería a lo siguiente: Modelo de Bodega Pareciera fácil pero no lo es tanto pues tiene su truco. El código sería el siguiente: SELECT tipo_articulos_nombre_tipo, articulos_descripcion,  SUM(cantidad) AS entradas, SUM(cantidad_salida) AS salidas FROM ( (SELECT tipo_articulos.`nombre_tipo` AS tipo_articulos_nombre_tipo, articulos.`descripcion` AS articulos_descripcion, detalle_entradas.`cantidad` AS cantidad, 0.0 as cantidad_salida FROM `articulos` articulos LEFT JOIN `detalle_entradas` detalle_entradas ON detalle_entradas.`idarticulo` = articulos.`idarticulo` INNER JOIN `entradas` entradas on entradas.identrada=detalle_entradas.`identrada` INNER JOIN `tipo_articulos` tipo_articulos ON articulos.`idtipo_articulo` = tipo_articulos.`idtipo_articulo` ORDER entradas.`fecha_entrada...

Enumerar filas en una consulta con MySQL

Supongamos que tenemos tablas con la estructura siguiente: documentos (iddocumento, nombre_documento, url_original, idtipo_documento, idproyecto) proyectos (idproyecto, nombre_proyecto, longitud, unidad_medida) tipo_documentos (idtipo_documento, descripcion_tipo_documento) Tenemos necesidad de hacer una consulta como la siguiente: "Enumerar todos los documentos en la base de datos agrupados por proyecto" Parece fácil, excepto por el término "enumerar", aquí tienes un truquito para que logres enumerar tus consultas: SELECT (@rownum:=@rownum+1) AS rownum, nombre_documento, descripcion_tipo_documento, nombre_proyecto FROM (SELECT @rownum:=0) r, documentos AS d INNER JOIN proyectos AS p ON d.idproyecto = p.idproyecto INNER JOIN tipo_documentos AS td ON d.idtipo_documento = td.idtipo_documento Pero que tal si te piden que enumeres los proyectos con sus correspondientes documentos?. Teniendo lo anterior es un poco mas sencillo SELECT IF(@fila=proyectos.idproyecto, ...