Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problema query MySql

  1. #1

    Problema query MySql

    Salve a tutti!
    ho un problema... dovrei effettuare una outer-join in sql con mySql, ma quando effettuo la query mi riporta un errore. Ho sentito da qualche parte che ad es. la funzione RIGHT JOIN in mySql non esiste...
    Vi riporto l'errore che mi tira fuori il codice:

    SELECT TabRichieste.Descr, TabRichieste.Data, TabRichieste.IPUser, TabRichieste.Stato, TabApps.App, TabAnagrafica.Cognome, TabAnagrafica.Nome, TabAnagrafica.Email, TabAnagrafica.Sede, TabAnagrafica.Tel, TabAnagrafica.Ente FROM TabApps RIGHT JOIN (TabAnagrafica RIGHT JOIN TabRichieste ON TabAnagrafica.IDUser = TabRichieste.IDUser) ON TabApps.IDApp = TabRichieste.IDApp;You have an error in your SQL syntax near '(TabAnagrafica RIGHT JOIN TabRichieste ON TabAnagrafica.IDUser = TabRichieste.ID' at line 2

    Mi sapreste aiutare a convertirla in codice MySql? vi prego...

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    http://dev.mysql.com/doc/mysql/en/join.html

    RIGHT JOIN esiste in mysql.
    Secondo me hai sbagliato qualche parentesi:

    SELECT ...
    FROM (T1 RIGHT JOIN T2 ON T1.ID1=T2.ID2) RIGHT JOIN T3 ON T3.ID3=T2.ID2

  3. #3
    non so, non capisco perchè mi da quell'errore... io ho mysql 3.23.57-nt è probabile che questa versione non supportava ancora il RIGHT JOIN?! non ci credo dai...

  4. #4
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    La tua query è sbagliata. Hai provato a cambiare le parentesi come ti ho indicato?

  5. #5
    infatti non è che non sono supportate, ma la sintassi che usi è sbagliata, dai un'occhiata all'esempio che ti ha postato Teuzzo e alla sintassi su mysql.com e noterai delle differenze con la tua.
    tu fai tutti i join e gli on tutti in fondo invece non devi fare così, per ogni join che fai ci devi mettere subito il suo on, all'inizio devi quindi legare subito le tabelle TabApps e TabAnagrafica tramite un campo, e così via...

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    ah, scusa... avevo capito che era un errore di parentesi (mancante)! Ora provo la tua sintassi... vi faccio sapere! :master:

  7. #7
    scusate una cosa... dovrei usare questa sintassi quindi?

    SELECT TabRichieste.Descr, TabRichieste.Data, TabRichieste.IPUser, TabRichieste.Stato, TabApps.App, TabAnagrafica.Cognome, TabAnagrafica.Nome, TabAnagrafica.Email, TabAnagrafica.Sede, TabAnagrafica.Tel, TabAnagrafica.Ente

    e invece di:
    FROM TabApps RIGHT JOIN (TabAnagrafica RIGHT JOIN TabRichieste ON TabAnagrafica.IDUser = TabRichieste.IDUser) ON TabApps.IDApp = TabRichieste.IDApp

    scrivo:
    FROM (TabAnagrafica RIGHT JOIN TabRichieste ON TabAnagrafica.IDUser = TabRichieste.IDUser) LEFT JOIN TabApps ON TabApps.IDApp = TabRichieste.IDApp

    giusto?

  8. #8
    ragazzi, ne sto uscendo pazzo!!!!
    ma che caxxo, non ottengo il risultato che vorrei!
    che sbaglio se scrivo:

    SELECT TabRichieste.descr, TabRichieste.data, TabRichieste.ipuser, TabRichieste.stato, TabApps.App, TabAnagrafica.cognome, TabAnagrafica.nome, TabAnagrafica.email, TabAnagrafica.sede, TabAnagrafica.tel, TabAnagrafica.ente
    FROM ( TabRichieste
    LEFT JOIN TabAnagrafica ON TabRichieste.IDUser = TabAnagrafica.IDUser )
    LEFT JOIN TabApps ON TabRichieste.IDApp = TabApps.IDApp

    dovrei ottenere quel che voglio, no? Ho invertito i RIGHT con i LEFT, in modo che tutto quadri... ma non funzia! Cosa sbaglio?!

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.