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

    [SQL] Quale operatore SQL utilizzare ?!?! HELP ?!?

    Innanzitutto complimenti per il forum ... e un grosso saluto a tutti ...

    Ho questo problema:

    ho due tabelle SQL

    devo fare una query di confronto campi testo,

    devo visualizzare tutti i campi della tabella 1, associati ad un campo della tabella 2

    SELECT tab1.stringa, tab2.nome
    FROM tab1, tab2
    WHERE tab1.stringa LIKE tab2.nome

    però il mio problema è che l'operatore LIKE mi da come risultato solo i campi uguali,

    la mia condizione è questa tab1.stringa CONTIENE tab2.nome

    LIKE non è l'operatore giusto ?

    potete gentilmente togliermi questo dubbio ?

    grazie a tutti

    ciao

  2. #2
    Deve esserci un campo in relazione tra le due tabelle. Es:

    tab1.id_tab1 = tab2.id_tab1

    E poi nel where metterai le tue condizioni ulteriori. La tab1 sara' la tabella che deve mostrare "tutti" i suoi record, la tab2 solo gli associati e NULL negli altri senza riscontro con tab1

    codice:
    SELECT tab1.stringa, tab2.nome
    FROM tab1 
    LEFT JOIN tab2 ON tab1.id_tab1 = tab2.id_tab1
    where tua condizione

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

  3. #3
    Grazie ...

    fino qui tutto chiaro ...

    ma il mio problema però è

    tab1 contiene valori tipo (1, 2, 10, 14, 16)
    tab2 contiene valori tipo (1pr, 2czs, 14ulc, 16bas)

    che operatore di confronto posso usare per restituire l'associazione tra tab1 e tab2 dove tab1 è contenuto in tab2

    si può fare con SQL ?

  4. #4
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Ciao

    hai provato cosi ?

    SELECT tab1.stringa, tab2.nome
    FROM tab1, tab2
    WHERE tab1.stringa LIKE %tab2.nome%
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  5. #5
    da errore ... !!!

    utilizzo mysql e phpmyadmin

  6. #6
    se fosse così :

    SELECT tab1.stringa, tab2.nome
    FROM tab1, tab2
    WHERE tab1.stringa LIKE '%testo%'

    ok funziona

    ma io devo confrontare i due campi ...

    magari un altro operatore di confronto, ma non mi viene in mente nulla


    ...help...

  7. #7
    questa è la sintassi esatta del comando LIKE

    SELECT column_name(s)
    FROM table_name
    WHERE column_name LIKE pattern

    MA IO DEVO FARE

    SELECT column_name(s)
    FROM table_name
    WHERE column_name LIKE column_name

    E' POSSIBILE ???

    ...please...

    grazie

  8. #8
    !!!!!RISOLTO!!!!!



    WHERE tab1.nome LIKE CONCAT( '%', tab2.zona, '%' )



    grazie comunque

    ora posso andare a mangiare ....

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.