Principale utente con più risposte
Cercare Valore su tutte le colonne

Domanda
-
Risposte
-
Usando TSQL direttamente non mi risulta...
Puoi scrivere
declare @ricerca nvarchar(32) set @ricerca = '%CIAO%' SELECT
ID,
DESCRIZIONE, RAGIONESOCIALE FROM Miatabella WHERE ID Like @ricerca OR DESCRIZIONE like @ricerca OR RAGIONESOCIALE like @ricerca
Non c'è modo di fare altrimenti salvo fare una QUery Union con una sola colonna oppure "sommare" i contenuti delle colonne in un unica stringa, ma in questo caso attenzione ai NULL perché se sommi NULL a qualsiasi stringa il risultato è null
SELECT CAMPONE FROM ( SELECT ID+ DESCRIZIONE+ RAGIONESOCIALE AS Campone FROM MiaTabella ) tb WHERE CAMPONE Like @ricerca
Per evitare problemi se uno dei campi fosse null diventa
SELECT CAMPONE FROM ( SELECT isnull(ID,'')+ isnull(DESCRIZIONE,'')+ isnull(RAGIONESOCIALE,'') AS Campone FROM MiaTabella ) tb WHERE CAMPONE Like @ricerca
Ovviamente se hai molti campi diviene piuttosto complicato da fare e manutenere
Sabrina C. - http://www.dotnetwork.it
- Proposto come risposta Edoardo BenussiMVP, Moderator lunedì 18 febbraio 2019 08:49
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator lunedì 25 febbraio 2019 11:15
-
Ciao,
purtroppo il tipo di interrogazione che cerchi di effettuare non è propriamente da database relazionale. Oltre alle soluzioni proposte, puoi pensare a creare un campo calcolato con all'interno un JSON e poi passarlo all'applicazione per farlo ricercare, oppure anche direttamente con le funzioni builtin di SQL Server stesso (ma dipende dalla versione di SQL Server, senza SQL Server 2016 hai solo la possibilità di salvarlo e non di interrogarlo).
Alessandro Alpi - Data Platfomr MVP - CTO & Co-Founder Engage IT Services S.r.l.
- Proposto come risposta Edoardo BenussiMVP, Moderator lunedì 18 febbraio 2019 08:51
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator lunedì 25 febbraio 2019 11:15
Tutte le risposte
-
Usando TSQL direttamente non mi risulta...
Puoi scrivere
declare @ricerca nvarchar(32) set @ricerca = '%CIAO%' SELECT
ID,
DESCRIZIONE, RAGIONESOCIALE FROM Miatabella WHERE ID Like @ricerca OR DESCRIZIONE like @ricerca OR RAGIONESOCIALE like @ricerca
Non c'è modo di fare altrimenti salvo fare una QUery Union con una sola colonna oppure "sommare" i contenuti delle colonne in un unica stringa, ma in questo caso attenzione ai NULL perché se sommi NULL a qualsiasi stringa il risultato è null
SELECT CAMPONE FROM ( SELECT ID+ DESCRIZIONE+ RAGIONESOCIALE AS Campone FROM MiaTabella ) tb WHERE CAMPONE Like @ricerca
Per evitare problemi se uno dei campi fosse null diventa
SELECT CAMPONE FROM ( SELECT isnull(ID,'')+ isnull(DESCRIZIONE,'')+ isnull(RAGIONESOCIALE,'') AS Campone FROM MiaTabella ) tb WHERE CAMPONE Like @ricerca
Ovviamente se hai molti campi diviene piuttosto complicato da fare e manutenere
Sabrina C. - http://www.dotnetwork.it
- Proposto come risposta Edoardo BenussiMVP, Moderator lunedì 18 febbraio 2019 08:49
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator lunedì 25 febbraio 2019 11:15
-
-
Quel tipo di ricerca io ce l'ho quasi gratis sul componente Grid che utilizzo normalmente per le mie applicazioni, la ricerca su tutti i campi funziona sul "recordset" collegato alla grid
ho messo le virgolette perché nel mio caso è una collection di oggetti.
https://help.syncfusion.com/wpf/sfdatagrid/search
Questo è l'oggetto in questione ;)
Sabrina C. - http://www.dotnetwork.it
-
Ciao,
purtroppo il tipo di interrogazione che cerchi di effettuare non è propriamente da database relazionale. Oltre alle soluzioni proposte, puoi pensare a creare un campo calcolato con all'interno un JSON e poi passarlo all'applicazione per farlo ricercare, oppure anche direttamente con le funzioni builtin di SQL Server stesso (ma dipende dalla versione di SQL Server, senza SQL Server 2016 hai solo la possibilità di salvarlo e non di interrogarlo).
Alessandro Alpi - Data Platfomr MVP - CTO & Co-Founder Engage IT Services S.r.l.
- Proposto come risposta Edoardo BenussiMVP, Moderator lunedì 18 febbraio 2019 08:51
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator lunedì 25 febbraio 2019 11:15