Invece di leggere direttamente la tabella dei servizi, usa una sottoquery e unisciti a quella.
select s.*, u.`fname`, u.`lname`, aif.`airport` FROM
( select * from services order by id limit 2) as s INNER JOIN airports_in_flight aif
ON s.`id` = aif.`service_id` INNER JOIN users u
ON s.`service_provider_id` = u.`id`
A seconda della tua versione di mysql, non puoi avere una sottoquery IN usando limit e offset (questa versione di MySQL non supporta ancora "LIMIT &IN/ALL/ANY/SOME subquery") ma funzionerà comunque.
MODIFICA:
Se imposti la query interna su questo:
(SELECT s.id
FROM services s
INNER JOIN airports_in_flight aif
ON s.`id` = aif.`service_id`
INNER JOIN users u
ON s.`service_provider_id` = u.`id`
LIMIT 2)
Quindi restituirà solo servizi con aeroporti_in_volo e utenti (possibilmente aggiungendo una clausola distinta).
EDIT per chiarire:
In questo momento hai questo come tuo selezionato:
select s.*, u.`fname`, u.`lname`, aif.`airport` FROM
services as s INNER JOIN airports_in_flight aif
ON s.`id` = aif.`service_id` INNER JOIN users u
ON s.`service_provider_id` = u.`id`
Vuoi limitare a 2 servizi (non so se vuoi tutti i servizi, immagino solo quelli con utenti corrispondenti e aeroporti in volo), quindi devi mettere il limite sulla tabella giusta.
In questo caso, la tabella giusta è la tabella dei servizi. Per semplificare le cose, iniziamo con una versione semplificata di ciò che hai:
SELECT s.*, aif.`airport` FROM
services as s
INNER JOIN airports_in_flight aif ON s.`id` = aif.`service_id`
Darò per scontato che ci sia un aeroporto in fila per ogni servizio (possiamo aggiungere quella complessità in seguito).
Per elencare i primi 2 servizi, vogliamo il limite sui servizi, non l'intera query, quindi sarebbe:
SELECT s.*, u.`fname`, u.`lname`, aif.`airport` FROM
(select * from services limit 2) as s
INNER JOIN airports_in_flight aif ON s.`id` = aif.`service_id`
Si noti che ho sostituito i servizi tabella con una query, che ora posso limitare, questa è la sottoquery. Se ora vogliamo guardare solo i servizi che hanno un aeroporto in volo, dobbiamo cambiare quella sottoquery da:
select * from services limit 2
a
select ss.* from services ss
inner join airports_in_flight aifs on ss.`in` = aifs.`service_id` limit 2
Ho rinominato i servizi e le tabelle airports_in_flight ss e aifs in modo che non entrino in collisione con i nomi nella query principale, ho inserito un inner join per limitare le mie righe alla sola tabella di servizio e limitato da 2, quindi inserendo la sottoquery in la query che ora otteniamo:
select s.*, u.`fname`, u.`lname`, aif.`airport`
FROM
(select ss.* from services ss
inner join airports_in_flight aifs on ss.`in` = aifs.`service_id`
limit 2) as s
INNER JOIN airports_in_flight aif ON s.`id` = aif.`service_id`
Dovresti quindi essere in grado di espandere la sottoquery per aggiungere l'inner join per gli utenti (limitando così i servizi solo a quelli che hanno le righe airports_in_flight e users) e aggiungere la tabella users alla query principale.