Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 38

Discussione: [MySQL] Problema query

  1. #1
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802

    [MySQL] Problema query

    Ciao a tutti,
    devo eseguire una select in una pagina prelevando dati da diverse tabelle relazionate tra loro.

    Uso questo codice:

    select struttura from strutture where IDstruttura IN (select IDstruttura from rifstruttura where IDtrattamento = '"&Cint(IDtratt)&"') AND IDstruttura IN (select IDstrutture from rifstruttureesterne where IDtrattamento = '"&Cint(IDtratt)&"')

    Ma ogni volta restituisce errore di sintassi. Ho controllato il codice e sembra corretto, voi sapreste darmi una mano? E' da qualche giorno che ci picchio la testa


    Le tabelle risultano in questo modo:


    Tabella "tabella1_2"
    IDstrumenti = chiave unica
    IDtrattamento
    .
    .
    .
    .

    Tabella "rifstrutture"
    IDrif = chiave unica
    IDstruttura
    IDtrattamento

    Tabella "rifstruttureesterne"
    IDrifesterna = chiave unica
    IDstrutture
    IDtrattamento

    Tabella "strutture"
    IDstruttura = chiave unica
    Nome
    .
    .
    .
    .

    Tabella "rifsede"
    IDrif = chiave unica
    IDstrumenti
    IDstruttura


    Bene, dovrei estrapolare i dati "rifstrutture.IDstruttura" e "rifstruttureesterne.IDstrutture" in base a "IDtrattamento" di "tabella1_2" selezionato in precedenza dall'utente. Una volta estrapolati "IDstruttura" e "IDstrutture" devo utilizzarli per ricavare "Nome" dalla tabella "Strutture" e flaggarlo in base a "IDstruttura" della tabella rifsede, ovvero flaggare quei dati estrapolati dalla tabella "Strutture" il cui campo "IDstruttura" coincide con "IDstruttura" della tabella "rifsede".


    Ok, è un po incasinato ma leggendolo attentamente si dovrebbe capire il significato.

    Spero che almeno la select sia corretta al mio scopo. Voi cosa mi suggerite? Se la select soprariportata è corretta, perchè mi restituisce errore?

    Grazie
    www.beppegrillo.it
    Il blog di Beppe!!

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Che versione hai di mysql?

  3. #3
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    4.0.20 standard
    www.beppegrillo.it
    Il blog di Beppe!!

  4. #4
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    Ho paura che le select annidate le faccia a partire dalla 4.1...

    Starting with MySQL 4.1, all subquery forms and operations that the SQL standard requires are supported, as well as a few features that are MySQL-specific.

    With MySQL versions prior to 4.1, it was necessary to work around or avoid the use of subqueries. In many cases, subqueries can successfully be rewritten using joins and other methods.

  5. #5
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    E allora come faccio a fare la select di tutto quell'ambaradan di roba? Sono tutte query intrecciate tra loro. E' un casino!
    www.beppegrillo.it
    Il blog di Beppe!!

  6. #6
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Qualcuno saprebbe dirmi come posso fare per ottenere la query spiegata nel primo post?
    www.beppegrillo.it
    Il blog di Beppe!!

  7. #7
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    Prima di scriverti il codice volevo farti una domanda?

    Ma usi ASP o PHP? Ho visto CInt ed & per concatenare le stringhe.... se usi ASP hai sbagliato forum

  8. #8
    Utente di HTML.it L'avatar di dalang
    Registrato dal
    May 2003
    Messaggi
    252
    Visto che il problema è MySql, NON ha sbagliato forum :-)

    La soluzione più semplice sarebbe aggiornare MySql alla versione 4.1.x

    Se non puoi aggiornare mysql, dovresti usare delle JOIN.

  9. #9
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    Uso ASP.

    Lo so che questo è PHP ma non ho bisogno di aiuti su ASP ma sulle select di MySQL. Il codice ASP lo aggiungo io dopo ma prima avrei bisogno di qualche suggerimento di logica e di SQL per poter effettuare le giuste selct nel modo migliore, a prescindere dal linguaggio server utilizzato.
    www.beppegrillo.it
    Il blog di Beppe!!

  10. #10
    Utente di HTML.it L'avatar di colde
    Registrato dal
    Feb 2001
    Messaggi
    1,802
    [supersaibal]Originariamente inviato da dalang
    Visto che il problema è MySql, NON ha sbagliato forum :-)

    La soluzione più semplice sarebbe aggiornare MySql alla versione 4.1.x

    Se non puoi aggiornare mysql, dovresti usare delle JOIN. [/supersaibal]
    Non posso aggiornare MySQL perchè è su server e non è il mio.
    Per le JOIN sarebbe molto interessante ma non ho ancora capito come funzionano. Ieri ho fatto alcune prove (ormai andate perse) utilizzando le JOIN ma non ha funzionato; magari, anzi presumibilmente, non andavano bene perchè sbagliavo io qualche cosa.


    Tu riusciresti a guidarmi un po sotto questo aspetto tenendo conto del risultato che vorrei ottenere?

    Grazie
    www.beppegrillo.it
    Il blog di Beppe!!

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.