У меня две таблицы.
Столовый инвентарь
fecha | tarifa 2017-01-06 500 2017-01-07 500 2017-01-08 500
Рекламные акции
fecha | percent 2017-01-07 0.10 2017-01-08 0.10 2017-01-07 0.15 2017-01-08 0.15
и мне нужно получить в то время как mysql запрос:
fecha | tarifa | percent 2017-01-06 500 0 2017-01-07 500 0.10 2017-01-08 500 0.10 2017-01-06 500 0 2017-01-07 500 0.15 2017-01-08 500 0.15
Спасибо!!!
Обновить
Мне нужно создать этот массив с результатом запроса.
Array ( [1] => Array ( [0] => Array ( [fecha] => 2017-01-06 [tstandard]=>500 [porcentaje] => 0.00 ) [1] => Array ( [fecha] => 2017-01-07 [tstandard]=>500 [porcentaje] => 0.10 ) [2] => Array ( [fecha] => 2017-01-08 [tstandard]=>500 [porcentaje] => 0.10 ) ) [2] => Array ( [0] => Array ( [fecha] => 2017-01-06 [tstandard]=>500 [porcentaje] => 0.00 ) [1] => Array ( [fecha] => 2017-01-07 [tstandard]=>500 [porcentaje] => 0.15 ) [2] => Array ( [fecha] => 2017-01-08 [tstandard]=>500 [porcentaje] => 0.15 ) ) )
Я сделал массив, но без tstandard каждого дня
Вы можете использовать left outer join
для получения желаемого результата, например:
SELECT s.fecha, s.tarifa, IFNULL(p.percent, 0) FROM stock s LEFT JOIN promotions p ON s.fecha = p.fecha;
Вот скрипт SQL .
Обновить
Если вы хотите ограничить вывод датами, вы можете использовать следующий запрос:
SELECT s.fecha, s.tarifa, IFNULL(p.percent, 0) FROM stock s LEFT JOIN promotions p ON s.fecha = p.fecha WHERE s.fecha BETWEEN $checkin AND $checkout;