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

    [MySQL] nome campo tabella

    Salve a tutti
    Come faccio a ricavare il nome del campo di una tabella tramite una valore?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117
    Ciao techno
    La vedo dura
    l'unica cosa che mi viene in mente è qualcosa tipo:
    codice:
    Select If((SELECT count(*) FROM MiaTabella WHERE FIND_IN_SET('Miovalore', `MioCampo`))>0, 'MiaTabella', NULL)
    che ti restituisce il nome della tabella se nel campo indicato (MioCampo) è contenuto il valore 'MioValore' altrimenti ti restituisce NULL
    Dovresti ripetere il codice per ogni campo della tabella dove è possibile riscontrare il valore e per ogni tabella su cui vuoi fare la ricerca.
    Queste query vanno unite ed usate come una tabella temporanea da cui estrarre i valori che non sono NULL
    Quindi qualcosa tipo:
    codice:
    SELECT * 
    FROM 
    (
        Select If((SELECT count(*) FROM MiaTabella1 WHERE FIND_IN_SET('Miovalore', MiaTabella1.MioCampo1))>0, 'MiaTabella1', NULL) aS NomeTabella
    UNION ALL
     Select If((SELECT count(*) FROM MiaTabella1 WHERE FIND_IN_SET('Miovalore', MiaTabella1.MioCampo2))>0, 'MiaTabella', NULL)
    UNION ALL
     Select If((SELECT count(*) FROM MiaTabella2 WHERE FIND_IN_SET('Miovalore', MiaTabella2.MioCampo1))>0, 'MiaTabella2', NULL)
    ...
    UNION ALL
     Select If((SELECT count(*) FROM MiaTabellaN WHERE FIND_IN_SET('Miovalore', MiaTabellaN.MioCampoN))>0, 'MiaTabellaN', NULL)
        ) aS tMP
    WHERE NomeTabella IS NOT NULL
    Nota che l'identificatore di colonna "AS NomeTabella" è sufficiente metterlo anche solo nella prima select.
    Se non ti interessano valori duplicati (ovvero se ti basta avere il nome della tabella una volta sola anche se il valore è in più campi) puoi usare UNION invece di UNION ALL.
    Spero di esserti stato d'aiuto.
    Ciao

  3. #3
    si sei stato gentilissimo grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117
    Prego, spero solo di averti aiutato (o che comunque tu abbia trovato una soluzione)
    Ciao e BUON ANNO

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.