Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2021
    Messaggi
    25

    [MYsql] contare le righe del risultato di tre join

    Buongiorno a tutti,

    mi servirebbe contare le righe del risultato di queste join:
    (praticamente devo trovare il numero dei partecipanti ad un determinato viaggio)

    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

    Non riesco ad unirla con il SELECT COUNT ho provato con

    selecet 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

    ma non funziona.


    Inoltre non so se è il posto giusto dove chiedere ma mi servirebbe la disponibilità di qualcuno che potesse farmi delle query un pò più complesse su un piccolo database che mio figlio sta utilizzando per l'esame di maturità naturalmente anche a pagamento.

    Grazie a tutti in anticipo per la sisponibilità
    Buona Vita

  2. #2
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    Hai i dettagli sull'errore che ricevi?
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  3. #3
    che vuol dire "non funziona" ? non capisco poi le query a pagamento per la maturità di tuo figlio... è lui che deve dare l'esame, o no?

  4. #4
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    Quote Originariamente inviata da optime Visualizza il messaggio
    che vuol dire "non funziona" ? non capisco poi le query a pagamento per la maturità di tuo figlio... è lui che deve dare l'esame, o no?
    Va bene dai, stiamo qui per far la morale o per dare aiuto tecnico?

    @Eustik70 sarebbe utile se condividi i dettagli che hai a riguardo del tuo "non funziona". La query ti riporta dati diversi da quelli che ti aspetti, oppure ti esce un errore? In questo ultimo caso, se condividi l'errore sarebbe molto utile a chi ti vuole aiutare.

    Probabilmente è solo un errore quando hai riportato qui il codice, ma per sicurezza, controlla che la SELECT non sia SELECET.
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2021
    Messaggi
    25
    #1064 - Errore di sintassi nella query SQL vicino a '*) from (SELECT viaggi.*, partecipanti.*, anagrafiche.*

    FROM viaggi

    INNER JO' linea 1



  6. #6
    Utente di HTML.it
    Registrato dal
    May 2021
    Messaggi
    25
    La query :

    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

    funziona e mi da come risultato una tabella con n colonne e n righe. Dovrei contare le righe per sapere il numero dei partecipanti

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2021
    Messaggi
    25
    Quote Originariamente inviata da optime Visualizza il messaggio
    che vuol dire "non funziona" ? non capisco poi le query a pagamento per la maturità di tuo figlio... è lui che deve dare l'esame, o no?
    Hai ragione l'esame deve farlo mio figlio ma che padre sarei se non cercassi di dargli una mano ? Per questo avevo chiesto anche dietro compenso non voglio approfittare di nessuno e anzi ringrazio tutti in anticipo

  8. #8
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    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.
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  9. #9
    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
    ) T1

  10. #10
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    COUNT conta le righe
    SUM fa l'addizione dei valori

    Forse dovresti provare con SUM
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.