То, что я пытаюсь выполнить, показывает правильный результат. У меня есть две разные таблицы, orders
и orders_products
.Сопоставьте две даты без секунд и показать результат
Я пытаюсь сопоставить orders.order_date
и orders_products.order_date
между собой и исключить секунды, потому что между базами данных существует задержка, и информация не будет отображаться.
orders_products пример.
id user_id user_name quantity product price order_date
19 12 Test 1 Advanced game overlay 20 2015-02-17 19:31:16
20 12 Test 1 Advanced standby overlay 20 2015-02-17 19:31:16
21 12 Test 1 Description images 15 2015-02-17 19:31:16
заказы примера.
id user_id user_name user_twitch user_email specific_color specific style webcam_size monitor_resolution faster_delivery order_message order_date user_ip order_status order_paid
4 12 Test John Doe Test [email protected] Blue random information 1024x768 0 ... 2015-02-17 19:31:14 xx.xx.xx.xx 1 0
Если сравнить order_date
между этими двумя таблицами orders.order_date
составляет 2 секунды медленнее, а информация не будет отображаться.
Я пытаюсь показать страницу «Ваши заказы» и SUM() общее количество каждого заказа и перечисленных продуктов.
$sth = $conn->prepare(
"SELECT DATE_FORMAT(order_date, '%Y %m %d %H:%i') AS date_convert "
. "FROM users, orders "
. "WHERE users.user_id = :user_id AND orders.user_id = :user_id"
);
$date = date('Y:m:d H:i', strtotime($result['order_date']));
$sth = $conn->prepare(
"SELECT SUM(price) AS price_sum "
. "FROM orders_products "
. "WHERE user_id = :user_id AND order_date = :order_date"
);
$sth->bindValue(':user_id', $row['user_id'], PDO::PARAM_INT);
$sth->bindValue(':order_date', $date, PDO::PARAM_STR);
У вас есть 'orders' таблицу и' orders_products' таблицу и не имеют ' OrderId' соединяющий их? Вам нужно исправить свои данные. –
Я согласен с Гордоном. И вот способ, которым должен был быть написан код ... 'SELECT @ts: = NOW(); INSERT INTO ... (... @ ts ...); INSERT (... @ ts ...). Таким образом, два ВСТАВКИ имеют одно и то же время. –
Даже лучше, чем мой предыдущий комментарий, заключается в том, что вы _should_ создали идентификатор для 'orders', а затем включили этот идентификатор в соответствующие строки' orders_products'. Затем 'JOIN' на них - никакого сравнения времени не нужно! И никакой двусмысленности, если кому-то удается разместить два ордера за одну секунду. –