Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220

    Query su 2 tabelle senza doppioni

    Ciao a tutti!
    Non riesco a comporre una query..

    Ho 3 tabelle uguali con questi campi:
    nome,cognome,codice

    Vorrei visualizzarli in una pagina con mysql_fetch_array e vorrei effettuare una sola query (come se fossero tutti in una sola tabella), ovviamante se ci fossero doppioni vorrei visualizzarne solo uno..

    Qualche idea?

  2. #2
    dovresti usare le JOIN nel FROM e la cluasola SELECT DISTINCT per evitare i duplicati
    Buongiorno! Buongiorno! Mi chiamo Francesco...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Sto provando cosi ma mi restituisce errore:
    codice:
    $query = "SELECT DISTINCT $db_table1.id,$db_table1.nome,$db_table1.cognome,$db_table1.nato, $db_table2.id,$db_table2.nome,$db_table2.cognome,$db_table2.nato FROM $db_table1, $db_table2 ORDER BY id ASC";
    
    
    echo "<table width=\"750\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" bordercolor=\"#CCCCCC\"><tr><td bordercolor=\"#FFFFFF\">Nome</td><td bordercolor=\"#FFFFFF\">Cognome</td><td bordercolor=\"#FFFFFF\">Nato</td></tr>";
    
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {
    
    echo "<tr><td bordercolor=\"#FFFFFF\">".$row[nome]."</td><td bordercolor=\"#FFFFFF\">".$row[cognome]."</td><td bordercolor=\"#FFFFFF\">".$row[nato]."</td></tr>";
    
    }
    
    echo "</table>";

    L'errore che mi da è: Supplied argument is not a valid MySQL result resource in /mio/path/

    Dove sbaglio?

  4. #4
    $result = mysql_query($query, $db) or die (mysql_error());

    Probabile tu abbia un errore di query. Forse manca group by. Metti la segnalazione di errore


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    L'errore è "Column: 'id' in order clause is ambiguous"
    E' inoltre possibile ordinare i record per cognome in modo alfabetico?

  6. #6
    Originariamente inviato da djteschio
    L'errore è "Column: 'id' in order clause is ambiguous"
    E' inoltre possibile ordinare i record per cognome in modo alfabetico?
    ORDER BY id ASC";

    devi anteporre il nome della tabella poiche' ci sono piu' campi di nome id. tabella.id

    Certamente. mettilo al posto di id con le stesse condizioni.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Ho visto la tua query e mi risulta non congruente.
    Piuttosto farei la query utilizzando UNION. Come fai tu, troveresti solo i record della seconda tabella, perche' essendo i campi uguali avrebbero i nomi di campo uguali. O metti tabella.campo oppure un alias.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Sto provando con:
    codice:
    SELECT * FROM $db_table1
    UNION
    SELECT * FROM $db_table2
    ORDER BY cognome DESC
    ma nulla da fare... questo è l'errore che mi viene restituito:

    You have an error in your SQL syntax near 'UNION SELECT * FROM nometabella2 ORDER BY cognome DESC' at line 2

    Qualche idea?

  9. #9
    Originariamente inviato da djteschio
    Sto provando con:
    codice:
    SELECT * FROM $db_table1
    UNION
    SELECT * FROM $db_table2
    ORDER BY cognome DESC
    ma nulla da fare... questo è l'errore che mi viene restituito:

    You have an error in your SQL syntax near 'UNION SELECT * FROM nometabella2 ORDER BY cognome DESC' at line 2

    Qualche idea?
    UNION e' valido solo da una certa versione di mysql. Qual'e' la tua?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Quella che ho in locale è vecchia 3.23.49

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.