Visualizzazione dei risultati da 1 a 4 su 4

Discussione: query su due tabelle

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    147

    query su due tabelle

    Mi trovo a gestire un db composto da due tabelle, la tabella A è strutturata così:
    id, name
    1 pomodoro
    2 pane
    3 olio
    4 lievito
    ...

    Mentre la tabella B :
    id, name_id
    1 3
    2 2
    3 4
    ...
    Dove name_id della tab B identifica l'id della tab A

    Quello che devo fare è una query sulla tabella B
    del tipo:
    Codice PHP:
        $result mysql_query("SELECT * FROM B") ; 
    ma che mi elencasse gli elementi in modo che mi compaiano al posto dei numeri del name_id i nomidella tabella A.
    Ad esempio invece di comparirmi 3,2,4 dovrebbe comparirmi olio, pane, lievito

    Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    codice:
    SELECT a.nome FROM b INNER JOIN a ON a.id=b.name_id WHERE <condizioni>
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Ciao, è facilissimo, basta mettere in relazione con una Join le 2 tabelle.
    Nel tuo caso:
    SELECT B.id,A.name
    FROM tabellaB B
    LEFT OUTER JOIN tabellaA A ON A.id=B.name_id

    ho usato una left join per non rischiare di perdere record della tabella B nel caso non ci fosse la nella nella tabella A relazionata con un elemento di B.

    Ti do un piccolo suggerimento, dai un occhio a questo libro, a me ha aperto gli occhi c'è anche in formato digitale (pdf o ebook): http://www.semplicementedatabase.altervista.org/joomla/

  4. #4

    Attenzione alla JOIN

    select b.id, a.name
    from b
    left outer join a on a.id=b.id_name

    Usa la left se non sei situro che tutti gli id_name della tabella b siano presenti in a altrimenti non vedresti la riga di b che non si lega in a

    se ti puù essere utile dai un occhio a questo libro: http://www.semplicementedatabase.altervista.org/joomla/

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 © 2026 vBulletin Solutions, Inc. All rights reserved.