Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: ordinamento su codice

  1. #1

    ordinamento su codice

    ho due tabelle:

    Tabella Riparazioni
    id_riparazione (contatore)
    cliente (numerico, punta alla tabella successiva)
    riparazione (alfanumerico)
    etc. (alfanumerico)

    Tabella Clienti
    id_cliente (contatore)
    cognome_cliente (alfanumerico)
    nome_cliente (alfanumerico)
    indirizzo (alfanumerico)
    etc. (alfanumerico)

    Per ovvie ragioni non inserisco il nome del cliente nella riparazione ma solo il suo codice cliente.

    Domanda: Come elencare le riparazione in ordine alfabetico di cognome_cliente?

    $query = "SELECT * FROM riparazioni WHERE ... ORDER BY ???????? ";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {
    echo ("$row[id_riparazione] -");
    echo ("$row[cliente] -");
    echo ("$row[riparazione]
    ");
    }

    Quale escamotage usereste ???

    Grazie Ric.
    Prima o poi anch'io vi insegnerò qualcosa

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    SELECT r.*, c.cognome_cliente FROM riparazioni r LEFT JOIN clienti c ON r.cliente = c.id_cliente ORDER BY cognome_cliente

  3. #3
    SELECT r.*, c.cognome_cliente FROM riparazioni r LEFT JOIN clienti c ON r.cliente = c.id_cliente ORDER BY cognome_cliente
    Scusa ma non capisco bene, devo scrivere così come scritta (in tal caso per favore spiegamela, o sostituire qualcosa a r e c (forse riparazioni o clienti?)

    SELECT r .*, c .cognome_cliente FROM riparazioni r LEFT JOIN clienti c ON r.cliente = c .id_cliente ORDER BY cognome_cliente
    Prima o poi anch'io vi insegnerò qualcosa

  4. #4
    potete spiegare per favore???
    Stò cercando di capire, non conosco i JOIN e le tabelle che ho postato non sono quelle vere, questo per dire che vorrei imparare per poi applicare io!!!
    Prima o poi anch'io vi insegnerò qualcosa

  5. #5
    Ho risolto più o meno così:
    SELECT
    *,
    riparazioni.cliente
    FROM
    clienti,
    riparazioni
    WHERE
    (clienti.id_cliente = riparazioni.cliente) ORDER BY
    clienti.cognome_cliente ASC,
    clienti.nome_cliente ASC

    Adesso chiedo: come mai se faccio così mi dà l'errore sotto riportato?

    SELECT
    *,
    *
    FROM
    clienti,
    riparazioni
    WHERE
    (clienti.id_cliente = riparazioni.cliente) ORDER BY
    clienti.cognome_cliente ASC,
    clienti.nome_cliente ASC


    Messaggio di MySQL:


    You have an error in your SQL syntax near '*
    FROM
    clienti,
    riparazioni
    WHERE
    (clienti.id_cliente = riparazioni.cliente) and
    (' at line 3

    :master:
    Prima o poi anch'io vi insegnerò qualcosa

  6. #6
    [supersaibal]Originariamente inviato da riccardo1975
    Scusa ma non capisco bene, devo scrivere così come scritta (in tal caso per favore spiegamela, o sostituire qualcosa a r e c (forse riparazioni o clienti?)

    SELECT r .*, c .cognome_cliente FROM riparazioni r LEFT JOIN clienti c ON r.cliente = c .id_cliente ORDER BY cognome_cliente [/supersaibal]
    c ed r sono solo degli alias per le due tabelle

  7. #7
    [supersaibal]Originariamente inviato da riccardo1975

    Adesso chiedo: come mai se faccio così mi dà l'errore sotto riportato?

    SELECT
    *,
    *
    FROM
    [/supersaibal]
    perchè non specifichi da quale tabella prelevare i dati..

    con gli alias di piero facevi prima

    SELECT r.*, c.*
    FROM riparazioni r LEFT JOIN clienti c //qui vengono definiti gli alias....
    ON r.cliente = c .id_cliente
    ORDER BY c.cognome_cliente ASC, c.nome_cliente ASC


  8. #8
    [supersaibal]Originariamente inviato da }gu|do[z]{®©
    FROM riparazioni r LEFT JOIN clienti c //qui vengono definiti gli alias.... [/supersaibal]
    per inciso: questo potevi scriverlo anche

    FROM riparazioni AS r LEFT JOIN clienti AS c

    forse così era più chiaro che sono degli alias

  9. #9
    Così mi sembra un pochino più comprensibile senza nulla togliere a piero, ma solo perchè in queste cose sono ancora un pò ignorantino. Adesso mi ci metto e vedo di sbattermi facendo delle prove.

    Grazie di tutto. Ric
    Prima o poi anch'io vi insegnerò qualcosa

  10. #10
    FROM riparazioni rip LEFT JOIN clienti cli LEFT JOIN marche mar

    è giusta una cosa del genere?

    e poi come riunire a seguito dell'istruzione

    ON

    le rip arazioni con cli enti e che visualizzino il mod ello della riparazione?

    riparazioni
    id (contatore)
    progressivo (intero)
    data (data)
    cliente (intero)
    modello (intero)
    etc.

    clienti
    id (contatore)
    cognome (stringa)
    nome (stringa)

    modelli
    id (contatore)
    modello (stringa)


    ??? :master:
    Prima o poi anch'io vi insegnerò qualcosa

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.