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

    [MySQL] mi controllate la sintassi di questa query?

    Ciao a tutti,

    non riesco a venir fuori dal seguente problema. Con MySQL Query Browser tento di inviare questa Query:

    SELECT d.campo2 as campo2,m.campo3 as campo3,d.campo4 as campo4
    FROM databaseA.tabella3 as m,databaseB.tabella1 as d
    WHERE m.campo1=776 AND m.campo2 = d.campo2 AND m.campo3 = d.campo3
    ORDER BY d.campo3;

    ma è sintatticamente corretta?

    Query Browser mi ritorna 0 record.

    Io vorrrei che mi tornasse:
    -)il campo2 e il campo4 della tabella 1 del databaseB
    -)il campo3 della tabella3 del databaseA
    quando
    -)il campo1 della tabella3 del databaseA è uguale a 776
    -)il campo2 della tabella3 del databaseA è uguale al campo 2 della tabella 1 del databaseB
    -)il campo3 della tabella3 del databaseA è uguale al campo 3 della tabella 1 del databaseB

    avete idea di dove sbaglio?
    RiKkArDo on IRCnet

  2. #2
    detto al volo (fregnaccia possibile) ... mi pare che le JOIN possano essere eseguite solo sulle tabelle dello stesso database.

    Noto anche che assegni un alias con lo stesso nome del campo. Lavoro inutile se cosi' fosse. Lo chiamerebbe comunque cosi', ma forse e' solo un esempio.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    grazie per la celere risposta

    Guarda grazie per l'indicazione sugli alias identici ai nomi dei campi. In effetti erano proprio uguali quindi li ho levati.

    Ho fatto un'altra prova con una query simile e funziona! Quindi il join fra tabelle di diversi database dovrebbero essere permessi.

    Ora mi chiedo come mai in alcuni casi non mi torna un risultato: eppure io se vado a controllare a manina dentro le tabelle trovo dei record che soddisfano la condizione nel where!

    ...
    RiKkArDo on IRCnet

  4. #4
    Prova ad eliminare un condizione where per volta. Vedi quando ti torna e quando non piu'.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ho individuato quale è la condizione che da problemi ma se vado a vedere nelle tabelle in teoria i record che la soddisfano ci sono!

    Come posso fare?
    RiKkArDo on IRCnet

  6. #6
    Originariamente inviato da rikkardo
    ho individuato quale è la condizione che da problemi ma se vado a vedere nelle tabelle in teoria i record che la soddisfano ci sono!

    Come posso fare?
    verifica che le colonne abbiano le stesse proprieta', che non ci siano spazi .... quali sarebbero le colonne con identico contenuto? Sono compatibili in AND i valori dei due campi della stessa tabella?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Originariamente inviato da piero.mac
    verifica che le colonne abbiano le stesse proprieta', che non ci siano spazi .... quali sarebbero le colonne con identico contenuto? Sono compatibili in AND i valori dei due campi della stessa tabella?
    allora con ordine:

    -) le colonne hanno le stesse proprietà: integer unsigned not null per entrambe
    -) cosa intendi su: che non ci siano spazi?
    -) stessa cosa per l'ultimo punto: cosa intendi?

    graize per l'aiuto
    RiKkArDo on IRCnet

  8. #8
    gli spazi se i valori fossero state stringhe...

    Ci sono in entrambe le tabelle dei valori compatibili tra campo2 e campo3?

    in altre parole esiste almeno un record che abbia "tutte" le condizioni previste dal where?

    prova su una sola tabella il WHERE m.campo1=776 e vedi se i valori estratti in campo2 e campo3 esistono entrambi nella stessa tupla dell'altra tabella....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    ho trovato il problema

    alla fine non mi ero accorto che nella condizione WHERE avevo scritto

    FROM databaseA.tabella3 as m,databaseC.tabella1 as d

    invece di

    FROM databaseA.tabella3 as m,databaseB.tabella1 as d

    .. io ovviamente a mano controllavo nella tabella giusta ...

    scusa per averti fatto perder tempo
    RiKkArDo on IRCnet

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.