Gli errori di sintassi sono i più facili da correggere - gli errori di logica, invece, più difficili.

Usando, il tuo codice, mi dava errore di sintassi per via della sintassi SELECET che avevi.

Questo mi funziona:

codice:
SELECT COUNT(*) 
FROM
    (
    SELECT
        viaggi.*,
        partecipanti.*,
        anagrafiche.* 
    FROM
        viaggi
        INNER JOIN partecipanti ON viaggi.ID_viaggio = partecipanti.Id_viaggio
        INNER JOIN anagrafiche ON anagrafiche.ID_anagrafica = partecipanti.Id_anagrafica 
    WHERE
        viaggi.ID_viaggio = 1 
    OR viaggi.ID_viaggio = 2 
    ) AS riusltato
Non ho lo schema del tuo DB, quindi non posso verificare che logica sia giusta. Fai attenzione che le tabelle viaggi, partecipanti, anagrafiche non contengano le stesse colonne altrimenti avrai riceverai un errore di colonne duplicate.
Potresti risolvere non usando SELECT * ma selezionando i campi precisi che ti servono.