Reputation: 7
My query is like this....
SELECT tb1.name, COUNT(tb2.payment_date) as first_payment FROM table1 LEFT JOIN table2 tb2 ON tb2.id_user = tb1.id
+-----------+-------------+
| Name | Count |
+-----------+-------------+
| John | 543534543 |
but I wish that my query returns a limit on join, something like:
LEFT JOIN tb2 ON tb2.id_user = tb1.id { LIMIT JOIN }
return only one relationship.....
+-----------+-------------+
| Name | Count |
+-----------+-------------+
| John | 3 |
Upvotes: 0
Views: 52
Reputation: 19882
SELECT
tb1.name,
COUNT(tb2.payment_date) as first_payment
FROM table1
LEFT JOIN (SELECT id_user , MIN(id) FROM table2 GROUP BY id_user)as tb2 ON tb2.id_user = tb1.id
Upvotes: 0
Reputation: 60503
select tb1.name, count(*) as first_payment
from table1 t1
LEFT JOIN (SELECT id_user, min(payment_date)
FROM table2
GROUP BY id_user) as t2
ON t1.id = t2.id_user
GROUP BY tb1.name
Upvotes: 1