Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problema SubQuery

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    280

    Problema SubQuery

    Ciao a tutti, ho cercato in rete ma non riesco a trovare le informazioni che mi servono, in pratica ho la necessità di effettuare una query con un confronto con una subquery, il problema è che il nome del campo da confrontare non esiste nella seconda tabella.. vi posto quello che vorrei fare cosi magari è più chiaro..

    SELECT NOME FROM TAVOLA1 WHERE COGNOME IN
    (SELECT SURNAME FROM TAVOLA2 WHERE SURNAME = COGNOME );

    Ora ho abbozzato un esempio ma il concetto è semplice, il nome del campo "cognome" è diverso dal nome del campo "surname" che contengono entrambi le informazioni da confrontare... in tutta la rete ho trovato solo materiale in cui usano gli stessi nomi dei campi.. come posso risolvere il problema??


    grazie a tutti.

  2. #2
    puoi usare una JOIN invece della subselect

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    280
    In realtà per semplicità ho usato la clausola IN , ma in realtà mi occorre "NOT IN" quindi credo che la JOIN nn vada bene

  4. #4
    indica anche il db, come da regolamento

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    280
    Il database è mysql 5.x, scusate se nn l'ho scritto su

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    280
    up please! Esiste una soluzione??? Grazie infinite..

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469

    Re: Problema SubQuery

    Originariamente inviato da magicofred
    Ciao a tutti, ho cercato in rete ma non riesco a trovare le informazioni che mi servono, in pratica ho la necessità di effettuare una query con un confronto con una subquery, il problema è che il nome del campo da confrontare non esiste nella seconda tabella.. vi posto quello che vorrei fare cosi magari è più chiaro..

    SELECT NOME FROM TAVOLA1 WHERE COGNOME IN
    (SELECT SURNAME FROM TAVOLA2 WHERE SURNAME = COGNOME );

    Ora ho abbozzato un esempio ma il concetto è semplice, il nome del campo "cognome" è diverso dal nome del campo "surname" che contengono entrambi le informazioni da confrontare... in tutta la rete ho trovato solo materiale in cui usano gli stessi nomi dei campi.. come posso risolvere il problema??


    grazie a tutti.
    non è che mi sia chiarissimo.
    Comunque

    1) mysql se ne frega se c'è scritto "cognome" e "surname", gli basta che la subquery torni un singolo campo e usa quello per il confronto

    2) puoi sempre usare un alias se proprio ti turbi
    SELECT NOME FROM TAVOLA1 WHERE COGNOME IN
    (SELECT SURNAME as COGNOME FROM TAVOLA2 WHERE SURNAME = COGNOME );

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    280
    Mitico mi hai risposto , in pratica ciò che mi mancava sapere è che mysql confronta L'UNICO campo che seleziono .. ok è chiaro e funziona, grazie infinite.

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.