SELECT `t2`.`id`, IFNULL(`t2`.`field1`, `t1`.`field1`), IFNULL(`t2`.`field2`, `t1`.`field2`), ...
FROM `table1` AS `t1`
LEFT JOIN `table2` AS `t2` ON `t2`.`id` = `t1`.`id` AND `t2`.`date` = :date
WHERE `t1`.`id` = :id
SELECT `c`.`date`, `t2`.`id`, IFNULL(`t2`.`field1`, `t1`.`field1`), IFNULL(`t2`.`field2`, `t1`.`field2`), ...
FROM `calendar` AS `c`
LEFT JOIN `table1` AS `t1` ON `t1`.`id` = :id
LEFT JOIN `table2` AS `t2` ON `t2`.`id` = :id AND `t2`.`date` = `c`.`date`
WHERE `c`.`date` BETWEEN :start_date AND :end_date
SELECT `o`.`ID`, IFNULL(`op`.`VALUE`, 0) AS `prepayment`, IFNULL(`ef`.`VALUE`, 0) AS `payment`
FROM `b_sale_order` AS `o`
LEFT JOIN (
SELECT `order_id`, SUM(`VALUE`) AS `VALUE`
FROM `d_sale_order_prepayment`
GROUP BY `order_id`
) AS `op` ON `op`.`order_id` = `o`.`ID`
LEFT JOIN (
SELECT `order_id`, SUM(`VALUE`) AS `VALUE`
FROM `d_sale_order_excess_fare`
GROUP BY `order_id`
) AS `ef` ON `ef`.`order_id` = `o`.`ID`
SET @id = 0;
UPDATE `test` SET `lock` = 1 WHERE @id := `id` AND `lock` = 0 ORDER BY `time` LIMIT 1;
SELECT @id;
SELECT *
FROM (
SELECT DISTINCT `date_create`
FROM `ordres`
UNION SELECT `date_modified`
FROM `ordres`
WHERE `status` IN (2, 3)
) AS `date`
LEFT JOIN (
SELECT COUNT(*) AS `count`, `date_create`
FROM `ordres`
GROUP BY `date_create`
) AS `all` ON `all`.`date_create` = `date`.`date_create`
LEFT JOIN (
SELECT COUNT(*) AS `count`, `date_modified`
FROM `ordres`
WHERE `status` = 2
GROUP BY `date_modified`
) AS `succ` ON `succ`.`date_modified` = `date`.`date_create`
LEFT JOIN (
SELECT COUNT(*) AS `count`, `date_modified`
FROM `ordres`
WHERE `status` = 3
GROUP BY `date_modified`
) AS `canc` ON `canc`.`date_modified` = `date`.`date_create`