Visualizzazione dei risultati da 1 a 3 su 3

Discussione: select tab-relazionate

  1. #1

    select tab-relazionate

    scusate
    mann so come comporre la select per estrarre
    i dati da 3 tabelle relazioante
    se trova 3 dati nell'ultima tabella che sono legate ad un record della seconda mi ripete tutti i dati estratti per
    3 volte!!
    io vorrei solo tutti i dati ceh con il where ho scelto dalla prima
    tutti i dati della seconda legati ai record della prima
    e così per la terza........
    perchè una volta lette tutte le tabelle ed estratti i dati mi rilegge tutto per i record estratti nell'ultima?

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Puoi postare la struttura delle tabelle e la query?
    Forse è solo un problema di distinct.

  3. #3
    emmmm
    le tabelle e il db l'ho fatto con phpMyAdmin .... quindi sono semplicissime
    e sono così create

    tab1 --------------
    id_L (key e index)
    nome campo1
    ------------------
    tab2 --------------
    id_M(key)
    id_L (chiave per il collegamento con tab1)
    nomecampo2
    nomecampo2
    noemcampo2
    -------------------
    tab3 ---------------
    id_Ms(key)
    id_L ----->queste 2 sono la chiave di collegamento con tab2
    nomecampo2----->
    nomecampo3
    nomecampo2
    -------------------

    ------------------------------------------------------
    QUERY
    $query = ("Select * from tab1,tab2,tab2 WHERE ");
    $query .= ("tab3.id_L = tab2.id_L AND tab3.campo2 = tab2.campo2 ");/*tab3*/
    $query .= ("AND tab2.id_L = tab1.id_L ");/*tab2*/
    $query .= ("AND tab1.id_L = y");/*tab1*/

    ------------------------------------------------------
    $id_risult = mysql_query ($query,$con);
    ------------------------------------------------------
    Ciclo
    while ($dati = mysql_fetch_array($id_risult)){
    ---------
    ecco ne approfitto per dire anche che
    codice del tipo
    $var = $dati['tab2.nomecampo2']
    nn lo ammette.....ho dovuto mettere nomi diversi ad ogni tab per poterli poi distinguere durante l'estrazione
    perchè?
    -----------
    }

    Domandine
    1)sono sbagliate le tabelle con 2 o un solo campo..per evitare la ripetizione dei dati?
    2) un libro da suggerirmi per capire coem costruire un db e gestirlo?

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.