Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    due id nella stessa tabella db

    Vorrei usare il metodo delle relazioni fra tabelle quando dentro una tabella c'è un id di un'altra tabella. Solo che non ho la più pallida idea di come si faccia e vorrei capire meglio qual'è la sua utilità. Conoscete un tutorial in rete che tratta l'argomento?

  2. #2
    ti spiego velocemente...
    1) relazione NON e quello che tu intendi!! una relazione è una tabella..quella che tu intendi è un associazione..

    2) se non ho capito male vuoi effettuare un operazione di congiunzione ovvero creare da due tabelle aventi uno o piu campi in comune, un unica tabella evente i campi della prima e della seconda tabella dove il campo in comune ha lo stesso valore...bene questa operazione si chiama JOIN piu precisamente nel tuo caso NATURAL JOIN..si fa cosi :

    SELECT * FROM tabella1 NATURAL JOIN tabella2 WHERE campoComune=qualcosa

    chiaro??

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    allora se uso il JOIN è inutile fare il db in questo modo?

    Codice PHP:
    tabella 'corsi':
    id_corsi (TIPO int 4 NULL no EXTRA auto_increment AZIONE chiave primaria)
    disegno (TIPO varchar 30 NULL si)
    pittura (TIPO varchar 30 NULL si
    Codice PHP:
    tabella 'materie':
    id_materie (TIPO int 4 NULL no EXTRA auto_increment AZIONE chiave primaria)
    disegno dal vero (TIPO varchar 30 NULL si)
    pittura a olio (TIPO varchar 30 NULL si)
    acquarello (TIPO varchar 30 NULL si)
    storia dell'arte (TIPO varchar 30 - NULL si)
    ecc.... 
    Codice PHP:
    tabella 'corsi_materie':
    id_corsi_materie (TIPO int 4 NULL no EXTRA auto_increment AZIONE chiave primaria)
    id_corsi (TIPO varchar 4 NULL siAZIONE indiceChe faccio lo metto come indice?
    id_materie (TIPO varchar 4 NULL siAZIONE indiceChe faccio lo metto come indice

  4. #4
    allora innanzi tutto la tabella materie deve avere un campo impostato come chiave esterna id_corsi..e la terza tabella nn e necessario farla xke la da come risultato la JOIN..xo spiegami una cosa...tu vuoi combinare ogni righa della prima con ttt le righe della secondA??

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    un'altro utente mi ha consigliato di fare in questo modo me è da poco che sto imparando il php e quindi non so come si fa. clicca sul link per leggere il mio precedente post:

    http://forum.html.it/forum/showthrea...readid=1097143

  6. #6
    aspe aspe...ma tu cosa usi access??

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Nooo Mysql. Cosa ti ha fatto pensare che uso access?

  8. #8
    questo :

    tabella 'materie':
    id_materie (TIPO int 4 - NULL no - EXTRA auto_increment - AZIONE chiave primaria)
    disegno dal vero (TIPO varchar 30 - NULL si)
    pittura a olio (TIPO varchar 30 - NULL si)
    acquarello (TIPO varchar 30 - NULL si)
    storia dell'arte (TIPO varchar 30 - NULL si
    nn ho mai usato quella maniera di scrivere...cmq se hai phpMyAdmin fai questa query x capire cosa ti restituisce...credo sia questo che vuoi :

    Codice PHP:
    SELECT FROM corsi NATURAL JOIN materie WHERE id_corsi idCorso 
    dove id_corsi è un campo presente sia in corsi che in materie e idCorso è appunto l'id del corso..

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ok grazie ora ci provo

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da nicodj88


    Codice PHP:
    SELECT FROM corsi NATURAL JOIN materie WHERE id_corsi idCorso 
    dove id_corsi è un campo presente sia in corsi che in materie e idCorso è appunto l'id del corso..
    Mi sono studiato a cosa servono i JOIN anche se non ho capito la differenza tra (inner join, outer join, cross join e natural join) però tu mi hai detto di usare il natural join e io seguo quello che tu mi dici. Ma poi perchè devo aggiungere (WHERE id_corsi = idCorso)? Qual'è la sua funzione?

    Un'altra cosa che non mi è chiara è che io nella tabella materie non ho id_corsi e poi idCorso da dove esce fuori?

    Codice PHP:
    tabella 'materie'
    id_materie (TIPO int 4 NULL no EXTRA auto_increment AZIONE chiave primaria
    disegno dal vero (TIPO varchar 30 NULL si
    pittura a olio (TIPO varchar 30 NULL si
    acquarello (TIPO varchar 30 NULL si
    storia dell'arte (TIPO varchar 30 - NULL si) 
    ecc.... 
    Codice PHP:
    tabella 'corsi'
    id_corsi (TIPO int 4 NULL no EXTRA auto_increment AZIONE chiave primaria
    disegno (TIPO varchar 30 NULL si
    pittura (TIPO varchar 30 NULL si

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.