Я пытаюсь запросить набор данных из mySQL со следующим SQL:
SELECT * FROM orders
WHERE datediff((now()), (SELECT datepurchased FROM orders WHERE email = 'me@example.com')) <= 1
Но проблема в том, что я получаю ошибку, #1242 - Subquery returns more than 1 row
, потому что оператор SELECT datepurchased FROM orders WHERE email = 'me@example.com'
возвращает больше, чемодна строка, что совершенно правильно.
Идея, которую я хотел, состоит в том, чтобы выбрать из таблицы orders
такую, чтобы разница дат между текущим временем и полем datepurchased
составляла <=1
и чтобыПоле email
равно me@example.com
.
В таблице orders
может быть много строк с полями электронной почты, такими как me@example.com
.Я просто хочу выяснить все эти строки с полями email
, равными me@example.com
, у которых datepurchased
меньше или равно единице.
Как мне сформулировать мой SQL для достижения этой цели?