Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [sql] join su 3 tabelle

    sarà l'ora, sarà che sto lavorando da tutto il giorno sul notepad ma... muoio su sta query.
    ammetto che le join non sono il mio forte.

    Voglio tutti i record del table sottotitolo che abbiano Titolo_ID = 1, ognuno con i propri record di argomento (se ci sono) e l'utente che lo ha creato.

    codice:
    SQL = "SELECT Utente.Nome, Argomento.Titolo, SottoTitolo.Titolo, SottoTitolo.Icona FROM Utente INNER JOIN Argomento ON Utente.ID = Argomento.Utente_ID ( RIGHT OUTER JOIN Sottotitolo ON Argomento.SottoTitolo_ID = SottoTitolo.ID WHERE SottoTitolo.Titolo_ID = 1 ) ORDER BY SottoTitolo.ID, Argomento.DataOra DESC"
    Errore:
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Utente.ID = Argomento.Utente_ID ( RIGHT OUTER JOIN Sottotitolo ON Argomento.SottoTitolo_ID = SottoTitolo.ID )'.


  2. #2
    Sono proprio cotto:

    SottoTitolo.Descrizione non SottoTitolo.Titolo nella SELECT.

    ma il problema non è questo, purtroppo.

  3. #3
    non ho guardato cosa fa effettivamente la query (sono stanco pure io) ma...

    la soluzione dovrebbe essere questa
    codice:
    SQL = "SELECT Utente.Nome, Argomento.Titolo, SottoTitolo.Titolo, SottoTitolo.Icona FROM (Utente INNER JOIN Argomento ON Utente.ID = Argomento.Utente_ID) RIGHT OUTER JOIN Sottotitolo ON Argomento.SottoTitolo_ID = SottoTitolo.ID WHERE SottoTitolo.Titolo_ID = 1 ORDER BY SottoTitolo.ID, Argomento.DataOra DESC"
    san imente saluta

    * http://simonecingano.it *

  4. #4
    l'errore è questo ora

    [Microsoft][ODBC Microsoft Access Driver] Join expression not supported.

    ti dice qualcosa?

    dimenticavo... grazie mille x avermi dato una mano a quest'ora!

  5. #5
    ok ok

    io e le join spesso ci picchiamo... quando sono OUTER poi :P

    se non ti crea problemi passami il db (semmai lascia solo la struttura)
    imente [at] virgilio [dot] it

    e figurati per l'ora...
    quando ci sono rispondo sempre
    san imente saluta

    * http://simonecingano.it *

  6. #6
    visto che con le join picchio piu duro di voi due messi assieme, suggerisco di usare solo clausole where

  7. #7
    Originariamente inviato da santino83_11_04
    visto che con le join picchio piu duro di voi due messi assieme, suggerisco di usare solo clausole where
    ecco grazie... vieni a salvarlo che con me stasera non si risolve nulla :rollo:

    comunque fai meno il figo che con una regexp ti spaaaaacco!!!
    san imente saluta

    * http://simonecingano.it *

  8. #8
    mi sono espresso male: picchio duro nel senso che ci sbatto la testa contro fino a spaccarmela ma non risolvo nulla

  9. #9
    Grazie a tutti, io in realtà preferirei fare il tutto con una singola join secca...
    Fino ad oggi ho sempre scritto query anche poco eleganti per ottenere i risultati in fretta.

    Ecco il DB

  10. #10
    Originariamente inviato da santino83_11_04
    mi sono espresso male: picchio duro nel senso che ci sbatto la testa contro fino a spaccarmela ma non risolvo nulla
    :maLOL: :maLOL: :maLOL: :maLOL: :maLOL: :maLOL:

    okkey...

    cmq io scherzavo :P

    -----

    mo ti guardo il dibbì
    san imente saluta

    * http://simonecingano.it *

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.