Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [sql] id che sparisce con left join

    Salve a tutti,
    ho due tabelle cosi composte (abbrevio)
    codice:
    SCHEDA
    -------------
    id,
    nome,
    data,
    descrizione,
    etc etc
    
    FOTO
    -------------
    id,
    est,
    thumb,
    big,
    etc etc
    Dove 'est' è riferito all'ID di scheda.
    Alcune schede possono non avere associate foto.

    In un ciclo vorrei stampare tutte le schede visualizzando, se presente, lo thumb e ci provo con questa query
    codice:
    SELECT * FROM scheda AS o 
    LEFT JOIN foto AS c 
    ON o.id = c.est
    ORDER BY data DESC
    La query funziona, i record con/senza foto vengono stampati correttamente tranne il campo ID di scheda, che rimane vuoto (lo dovrei usare come parametro per alcuni link), ma niente, non c'è!gli altri si!
    Funziona invece con una semplice select senza il join con foto.
    Come mai? Cosa sbaglio?
    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Prova a specificare i campi nella select assegnando a id (che è comune tra le due tabelle) un alias diverso.

  3. #3
    Effettivamente selezionando solo l'ID l'errore è Column 'id' in field list is ambiguous
    Ma perdona la mia ignoranza, non ho capito bene cosa intendi..
    devo cambiare nome ai campi nella tabella? Potresti farmi un esempio, per favore?
    Grazie mille

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non è necessario cambiare i nomi dei campi. Basta che usi degli alias.

    codice:
    SELECT o.id,o.scheda,c.id as altro_id,c.est FROM scheda AS o 
    LEFT JOIN foto AS c 
    ON o.id = c.est
    ORDER BY data DESC

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.