Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Query Tosta Con Mysql

  1. #1
    Utente di HTML.it L'avatar di Styx
    Registrato dal
    Nov 2009
    Messaggi
    18

    Query Tosta Con Mysql

    ciao ragazzi/e (nn si sa mai!!)
    Ecco il mio problema: ho 2 tabelle:

    Provincia
    ---------------
    pCap int 5
    pNome varchar 20

    Luogo
    ---------------
    lCap int 5
    lNome varchar 20
    lAbitanti int 8 <--- sono il numero degli abitanti del paese
    lpCap <--- chiave esterna

    collegate tra di loro con relazione 1(provincia) a N(luogo) tramite lpCap = lCap

    Per esempio, se guardo le provincie del veneto, mi trovo come uscita:
    Verona - Villafranca
    Vicenza - Bassano del Grappa
    Belluno - Feltre
    ecc ecc...

    capito? grazie infinito anche solo per provarci
    o al massino, se non ce la fate con 1 query, una soluzione alternativa magari utilizzando php e qualche query di base.. GRAZIE
    Esistono 10 tipi di persone: chi nn conosce il codice binario e chi lo conosce.. Ma le altre 8?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select l.* from luogo as l
    inner join provincia as p
    on l.lpcap = p.pcap
    where p.pnome = 'provincia_che_vuoi'

  3. #3
    Utente di HTML.it L'avatar di Styx
    Registrato dal
    Nov 2009
    Messaggi
    18
    bè grazie ma.. non è proprio quello che cercavo! intanto non deve esserci il where, perchè voglio la lista completa che mi stampi e... secondo me solo con inner join non va bene perchè mi stamperebbe il nome della provincia ogni volta che vede la corrispondenza!!!
    Esistono 10 tipi di persone: chi nn conosce il codice binario e chi lo conosce.. Ma le altre 8?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Posta un piccolo dump delle due tabelle per agevolare chi volesse aiutarti e il risultato che vorresti ottenere.

  5. #5
    Originariamente inviato da Styx
    bè grazie ma.. non è proprio quello che cercavo! intanto non deve esserci il where, perchè voglio la lista completa che mi stampi e... secondo me solo con inner join non va bene perchè mi stamperebbe il nome della provincia ogni volta che vede la corrispondenza!!!
    1. se non vuoi la where non metterla
    2. per la inner join: hai provato? prima di dire che non va bene

  6. #6
    Utente di HTML.it L'avatar di Styx
    Registrato dal
    Nov 2009
    Messaggi
    18

    risolto :P

    ok grazie a tutti ma ci sn arrivato lo stesso :P
    la query è:

    SELECT pNome, max( lAbitanti ) AS 'max'
    FROM provincia INNER JOIN luogo ON pCap = lpCap
    GROUP BY pNome ORDER BY max DESC;

    fatta questa query ne faccio una seguente:
    SELECT lNome
    FROM luogo
    WHERE lAbitanti = ci metto il valore degli abitanti preso prima :P


    grazie a tutti scusate se vi ho disturbato
    Esistono 10 tipi di persone: chi nn conosce il codice binario e chi lo conosce.. Ma le altre 8?

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non si tratta di disturbare ma di essere chiari quando si pone una domanda. Ciò che vuoi fare non ha niente a che vedere col tuo primo post.

    codice:
    select p.pnome,l.lnome,l.labitanti from provincia as p
    inner join (select * from luogo order by labitanti desc) as l on p.pcap = l.lpcap
    group by p.pcap

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.