Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171

    order by su piu tabelle

    salve.
    ho ancora un problema.
    sto usando postgresql, ho 2 tabelle cosi composte.
    id
    anno
    sigla

    io vorrei fare una query e raggruppare i risultati per anno.
    mi spiego meglio.

    nella tabella A ho per esempio 3 tuple con sigla A1, A2, A3 e tutti e 3 hanno come anno 1900
    nella tabella B ho anche li 3 campi B1,B2,B3 e anche questi hanno come anno 1900.

    io voglio fare una query facendo un join sulle 2 tabelle A e B e quello ke vorrei stampare a video è questo.

    1900, dettagliA, dettagliB ......... dove in dettagli A mi apre una pagina con A1 A2 A3 mentre in dettagli B apre B1 B2 B3


    come faccio a raggruppare i dati delle 2 tabelle ?

    grazie mille

  2. #2
    Quote Originariamente inviata da processore Visualizza il messaggio
    salve.
    ho ancora un problema.
    sto usando postgresql, ho 2 tabelle cosi composte.
    id
    anno
    sigla

    io vorrei fare una query e raggruppare i risultati per anno.
    mi spiego meglio.

    nella tabella A ho per esempio 3 tuple con sigla A1, A2, A3 e tutti e 3 hanno come anno 1900
    nella tabella B ho anche li 3 campi B1,B2,B3 e anche questi hanno come anno 1900.

    io voglio fare una query facendo un join sulle 2 tabelle A e B e quello ke vorrei stampare a video è questo.

    1900, dettagliA, dettagliB ......... dove in dettagli A mi apre una pagina con A1 A2 A3 mentre in dettagli B apre B1 B2 B3


    come faccio a raggruppare i dati delle 2 tabelle ?

    grazie mille

    ciao, cosa intendi con : dettagliA, dettagliB?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  3. #3
    e anche "mi apre una pagina".... che vuol dire?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171
    scusate per la descrizione poco chiara.
    riformulo la domanda.

    ho 2 tabelle con dati differenti, ma alcuni campi sono uguali, in tutte è 2 le tabelle c'è il campo anno e il campo sigla.

    nella tabella A ho ho delle tuple cosi:
    A1, 1900
    A2, 1900
    A3, 1900
    A4, 2000
    A5, 2000

    nella tabella B ho queste tuple:

    B1, 1900
    B2, 1900

    voglio fare un query e prendere sia i dati della tabella A, sia quelli della tabella B.
    raggruppando i dati per anno.

    nella mia pagina PHP vorrei creare una tabella dove stampare i dati.
    i dati nella tabella devono essere stampati cosi.

    1900|link1 | link2 ......... link1 e link2 mi aprono un altra pagina dove vado a stampare i dettagli, in link1 stampo i dettagli della tabella A, in link 2 quelli della tabella b

    2000 | link1 ............ in 2000 stampo solo link1 perche nella tabella B non c'è niente che abbia anno 2000

  5. #5
    Quote Originariamente inviata da processore Visualizza il messaggio
    A1, 1900
    A2, 1900
    A3, 1900
    considera che, proprio per come funziona la group by,

    in una situazione cosi :

    A1, 1900
    A2, 1900
    A3, 1900

    se tu raggruppi per anno ottieni una sola riga dove, l'anno e' 1900 ma la "sigla" deve necessariamente essere una sola, quindi devi applicare una funzione di aggregazione alla sigla (max,min,eccetera)
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171
    si gia questo lo avevamo risolto grazie al tuo aiuto . ora si presenta un altro problema,
    a me interessa fare un join tra A e B e stampare una sola riga 1900,

  7. #7
    una sola riga , facendo il group by la ottieni di default, ora il problema e', tra A1,A2,A3 cosa vuoi "mantenere"
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171
    emmm mi sa che mi sto spiegando male ... cerco di spiegarti meglio.

    tra A1, A2, e A3 non voglio mantenere niente perche queste info le stampo nella pagina successiva.

    quello che voglio io è
    prendere la tabella A e la tabella B e fare il group by tra i dati di A e quelli di B, nel senso in A ho 3 volte 1900 e in B 2 volte 1900, voglio raggruppare sia A che B insieme, se e possibile farlo

  9. #9
    probabilmente non sto capendo bene io

    provo a dirti un qualcosa in base a quello che ho capito

    SELECT MAX(TA.SIGLA), MAX(TB.SIGLA), TA.ANNO,TB.ANNO
    FROM TABELLA_A AS TA JOIN TABELLA_B AS TB ON( ...CONDIZIONE...)
    GROUP BY(TA.ANNO,TB.ANNO)
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  10. #10
    credo che propcessore voglia qualcosa del tipo

    da una tabella

    a 1
    a 2
    a 3

    voglia ottenere

    a 1,2,3

    (che con la order by del titolo non c'entra proprio niente...)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.