Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Istruzione SQL complessa

    Ciao a tutti.
    Ho due tabelle fatte così:

    Tabella CodiciMessaggi
    - idCodiceMessaggio
    - txtCodiceMessaggio

    Tabella Messaggi
    - idMessaggio
    - lngCodiceMessaggio
    - lngLingua
    - txtMessaggio

    Esse mi servono per avere un messaggio (univoco ed identificato nella tabella CodiciMessaggi) in più lingue (i testi in lingua sono in tabella Messaggi). La relazione uno a molti sta tra idCodiceMessaggio e lngCodiceMessaggio.

    Dovrei fare una SQL che
    - mi trovi tutti i messaggi che contengono un determinato testo, O nel campo txtCodiceMessaggio, O nel campo txtMessaggio
    - Visualizzi il testo del messaggio trovato in tutte le lingue disponibili.

    È possibile? Grazie!

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Faccio un esempio:

    CodiciMessaggi
    codice:
    idCodiceMessaggio  txtCodiceMessaggio
    1                  InvEm
    2                  MisEm
    3                  MisUn
    Messaggi
    codice:
    idMessaggio  lngCodiceMessaggio  lngLingua  txtMessaggio
    1            1                   1          Indirizzo non valido
    2            1                   2          Invalid email address
    3            2                   1          Indirizzo mancante
    4            2                   2          Missing email
    5            3                   1          Username mancante
    6            3                   2          Missing username
    Se io cercassi "email" vorrei avere questo risultato:
    codice:
    idCodiceMessaggio  txtCodiceMessaggio txtMessaggio
    1                  InvEm              Indirizzo non valido
    1                  InvEm              Invalid email address
    2                  MisEm              Indirizzo mancante
    2                  MisEm              Missing email

  3. #3
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    direi che con una INNER JOIN te la cavi.

    codice:
    SELECT CodiciMessaggi.idCodiceMessaggio, CodiciMessaggi.txtCodiceMessaggio, Messaggi.txtMessaggio
        FROM CodiciMessaggi 
    INNER JOIN Messaggio ON Messaggi.lngCodiceMessaggio=CodiciMessaggio.idCodiceMessaggio 
    WHERE Messaggi.txtMessaggio LIKE "%email%" || CodiciMessaggio.txtCodiceMessaggio LIKE "%email%"


    P.S. presumo che la relazione tra lngCodiceMessaggio e idCodiceMessaggio sia obbligatoria ... altrimenti non usare INNER ma LEFT oppire RIGHT
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.