schemat tabel:
NOTES -> id, name, client_id NOTES_DETALIS -> id, notes_id, sub_name
Połączenie między tabelami jest dzięki notes.id = notes_details.notes_id
Sprawa wygląda tak że np. do jednego rekordu NOTES może być przypisanych jeden bądź kilka rekordów w NOTES_DETAILS
Problem pojawia się przy zapytaniu:
SELECT * FROM NOTES LEFT JOIN NOTES_DETAILS ON NOTES.id = NOTES_DETAILS.notes_id WHERE NOTES.client_id = 1 LIMIT 0, 4
gdyż źle brany jest pod uwagę limit jest on branyz całości a nie tylko z NOTES (gdy w NOTES_DETAILS MAMY 2 rekordy DO NOTES.id wtedy suma wychodzi 2 więc paginacja ogólnie nie będzie działać prawidłowo)
Jakieś sensowne rozwiązanie by móc limitować po NOTES.id a nie po całości, by paginacja dobrze działała.
Jakby ktoś bardziej optymalnie mógł napisać zapytanie (mój sposób działa lecz podwójne zagnieżdżenie w pierwszym selectie chciałbym jakoś móc ominąć )
SELECT `t1_master`.`id`, `t2_master`.`job` FROM ( ( SELECT * FROM ( SELECT * FROM `notes` ORDER BY `notes`.`date` DESC LIMIT 0,25 ) AS `t1_sub` ) AS `t1_master` LEFT JOIN ( SELECT * FROM ( SELECT * FROM `notes_details` ) AS `t2_sub` ) AS `t2_master` ON `t2_master`.`note_id` = `t1_master`.`id` )