cuandom te dije que estructura me referia a una sentencia sql para crear las tablas o si no un representacion grafica jeje
asi es mas facil.
bueno tienes esta estructura segun entiendo:
Código :
++ tabla_1++
+ liquido +
+----------+
+ agua +
+ leche +
+ vino +
+ aceite +
++++++++++++
+++++ tabla_2 +++++
+ liquido + litros +
+----------+--------+
+ agua + 3 +
+ vino + 2 +
+ leche + 1 +
+++++++++++++++++++++
y tu al hacer un select quieres obtener los datos de la tabla1 con los valores de la tabla 2 pero si estos no estan en dicha tabla llenarlos con 0
bueno primero dime es esa tu estrucutra? ya que si es asi yo diria que la necesidad de tener 2 tablas casi identicas no es nada productivo ya que sencillamente podrias hacer eso con la tabla2 simplemente
en sql hay lo que se llama valores por default al momento de agregar un nueva celda si esta no es explicitamente insertada y esta configurada con su valor por defecto esta misma se llena con dicho valor
ahora lo que quieres hacer
en la sentencia sql seria
Código MySQL :
SELECT t1.liquido, t2.litros
FROM tabla_1 AS t1
LEFT OUTER JOIN tabla_2 AS t2
ON t1.liquido = t2.liquido
LIMIT 0 , 30
no te retornara 0 si no NULL ya eso lo puedes interpretar con php con la funcion is_null para que muestre un 0 usar un cast
(int)si alguien quiere experimentar con joisn dejo el sql q utilce
Código MySQL :
CREATE TABLE IF NOT EXISTS `tabla_1` (
`liquido` varchar(255) NOT NULL,
UNIQUE KEY `liquido` (`liquido`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `tabla_1` (`liquido`) VALUES
('aceite'),
('agua'),
('leche'),
('vino');
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `tabla_2` (
`liquido` varchar(255) NOT NULL,
`litros` int(13) NOT NULL,
UNIQUE KEY `liquido` (`liquido`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `tabla_2` (`liquido`, `litros`) VALUES
('agua', 2),
('leche', 5);