Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581

    SQL su 3 tabelle ... INNER JOIN?

    hola!
    spero sia l'ora tarda perchè sto abbastanza impazzendo con questa SQL

    Ho 3 tbl di cui riporto i campi che devo estrarre/devo confrontare

    GalleryAlbum
    - ID
    - Titolo

    GalleryRaccolta
    - ID
    - IDAlbum

    GalleryFoto
    - IDRaccolta

    in pratica devo estrarre tutti i titoli presenti in GalleryAlbum che abbiano almeno una Foto .... ovvero devono avere un record in GalleryRaccolta e questo, a sua volta, deve avere almeno un record in GalleryFoto


    l'SQL che ho fatto è questa:
    codice:
    SELECT GalleryAlbum.ID, GalleryAlbum.Titolo
    FROM GalleryAlbum
    INNER JOIN GalleryRaccolta ON GalleryAlbum.ID = GalleryRaccolta.IDAlbum
    INNER JOIN GalleryFoto ON GalleryRaccolta.ID = GalleryFoto.IDRaccolta
    ORDER BY GalleryAlbum.Ordine, GalleryAlbum.Titolo
    ma mi da questo errore:
    codice:
    Microsoft JET Database Engine (0x80040E14)
    Errore di sintassi (operatore mancante) nell'espressione della query 'GalleryAlbum.ID = GalleryRaccolta.IDAlbum INNER JOIN GalleryFoto ON GalleryRaccolta.ID = GalleryFoto.IDRaccolta'.
    qualcuno che mi illumina in questa tarda ora o anche appena legge? ^_^

  2. #2
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    non credo che dipenda da quello ma metti qualche parentesi

    codice:
    SELECT GalleryAlbum.ID, GalleryAlbum.Titolo
    FROM (GalleryAlbum
    INNER JOIN GalleryRaccolta ON GalleryAlbum.ID = GalleryRaccolta.IDAlbum)
    INNER JOIN GalleryFoto ON GalleryRaccolta.ID = GalleryFoto.IDRaccolta
    ORDER BY GalleryAlbum.Ordine, GalleryAlbum.Titolo
    poi se ho capito devi mettere il right join

    codice:
    SELECT GalleryAlbum.ID, GalleryAlbum.Titolo
    FROM (GalleryAlbum
    RIGHT JOIN GalleryRaccolta ON GalleryAlbum.ID = GalleryRaccolta.IDAlbum)
    RIGHT JOIN GalleryFoto ON GalleryRaccolta.ID = GalleryFoto.IDRaccolta
    ORDER BY GalleryAlbum.Ordine, GalleryAlbum.Titolo
    in ogni caso ti consiglio di usare le query di access così ti trovi l'SQL bello pronto
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  3. #3
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581

    tnx mille

    grazie mille per la dritta

    era un problema di parentesi in effetti

    risolto così:
    codice:
    SELECT DISTINCT GalleryAlbum.ID, GalleryAlbum.Titolo, GalleryAlbum.Ordine
    FROM (GalleryAlbum INNER JOIN GalleryRaccolta ON GalleryAlbum.ID = GalleryRaccolta.IDAlbum)
    INNER JOIN GalleryFoto ON GalleryRaccolta.ID = GalleryFoto.IDRaccolta
    ORDER BY GalleryAlbum.Ordine, GalleryAlbum.Titolo

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.