• User

    Esatezza query

    Ciao a tutti.

    Avrei una domanda da porvi prima di effettuare eventuali modifiche al mio sito.

    Ho un database costituito da 4 tabelle:

    tabella (alias a) : autori (id_autore, autore, contatto)
    tabella (alias al) : alunno (id_alunno, nome, classe, scuola,sigla, materia)
    tabella (alias aa): alunno-autore (id_autore, id_alunno)
    tabella (alias m):materia (id_materia, materia, strumenti, metodo)

    Volevo sapere se una query fatta nel seguente modo è corretta o è sbagliata (mi romperebbe molto modificare il database e scoprire non è servito a nulla)

    $query= ' SELECT
    a.autore, a.contatto, al.nome, al.classe, al.sigla, m.materia, m.strumenti, m.metodo
    FROM
    autori a,
    alunno al,
    alunno-autore aa,
    materia m
    WHERE
    a.id_autori = aa.id_autori AND
    al.id_alunno =aa.id_alunno AND
    m.materia = al.materia AND
    al.sigla = $sigla AND
    a.autore = $autore

    *Considerate che 1 autore può avere molti alunni, 1 alunno può avere molte materie. *
    In particolare mi chiedo se (lasciate perdere eventuali errori banali di scrittura del codice) le due condizioni in neretto possono essere aggiunte senza creare problemi in quanto vengono inserite da qualsiasi utente.

    Vorrei che fossero **elencati i campi autore, contatto, nome, classe, sigla, materia, strumenti, metodo aventi una sigla e un autore scelto dall' utente

    **Spero di esser stato chiaro e che possiate aiutarmi .

    😮


  • ModSenior

    Ciao bubba101,
    scrivere una query utilizzando i JOIN la rende sicuramente più leggibile. Anche evitare di utilizzare questo tipo di alias è fortemente consigliato, perchè non fai altro che complicare la lettura, senza avere un vantaggio.


  • User

    grazie farò come ai detto per i join ....ma quali altri tipi di alias ci sono?..

    poi mi potresti dire se collegando le tabelle come ho fatto posso inserire, senza creare problemi, le due variabili per specificare di quali dati ho bisogno?

    :fumato:


  • ModSenior

    Intendevo di non utilizzare proprio gli alias in quanto non sono necessari, e rendono solo più complicata la lettura della query.
    Visto che usi l'apice per inserire la stringa devi fare '.$variabile.' come si fà normalmente. Altrimenti utilizzi il doppio apice per le query ed eviti questa cosa.


  • User

    grazie...

    :fumato: