Нужна помощь с запросом

VeroLom
Дата: 08.02.2013 19:26:26
Здравствуйте, товарищи!

Нужна помощь в составлении запроса. Грубо говоря, есть таблица users (id, login, account_id, create_date, ...), accounts (id, ...) и payments (id, account_id, summ, payment_date).

Нужно получить даты создания пользователей, которые произвели самый первый платёж в указанную дату

Пытаюсь весь вечер написать, думал, что уже получилось, но в итоге выборка неверная. ЧЯДНТ?

SELECT	`u`.`login`,
	`pt`.`id`,
	`pt`.`payment_incurrency`,
	FROM_UNIXTIME(`u`.`create_date`) AS `create_date`,
	FROM_UNIXTIME(MIN(`pt`.`actual_date`)) AS `payment_date`,
	DATEDIFF(
		DATE(FROM_UNIXTIME(`pt`.`actual_date`)),
		DATE(FROM_UNIXTIME(`u`.`create_date`))
	) AS `date_diff`
FROM	`payment_transactions` AS `pt`
JOIN	`users` AS `u` ON
	`u`.`basic_account` = `pt`.`account_id`
WHERE	FROM_UNIXTIME(`pt`.`actual_date`) LIKE '2013%' AND
	`pt`.`payment_incurrency` > 0
GROUP BY `pt`.`account_id`
ORDER BY `pt`.`actual_date`, `u`.`create_date` DESC;
miksoft
Дата: 08.02.2013 19:30:20
VeroLom
Нужно получить даты создания пользователей, которые произвели самый первый платёж в указанную дату
"Самый первый" может быть только один. Тогда почему "даты" во множественном числе?
VeroLom
Дата: 08.02.2013 19:54:23
miksoft,

имелись в виду платежи для каждого пользователя.

P.S. Первый платёж - именно для пользователя, а не для указанной даты.
qwerty112
Дата: 09.02.2013 10:45:53
VeroLom
Здравствуйте, товарищи!

Нужна помощь в составлении запроса. Грубо говоря, есть таблица users (id, login, account_id, create_date, ...), accounts (id, ...) и payments (id, account_id, summ, payment_date).

Нужно получить даты создания пользователей, которые произвели самый первый платёж в указанную дату...

что-то такое "навороченно", ...

select * from users u
where КакаятаДата = (select min(payment_date) from payments p where u.account_id=p.account_id)