Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Select (sql server)
martedì 13 marzo 2007 - 17.05
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ANNA79
Profilo
| Junior Member
62
messaggi | Data Invio:
mar 13 mar 2007 - 17:05
Salve
dovrei prendere l'id di una tabella che ha il campo radice (tipo numerico) contenuto nel mio numero telefonico che gli passo tramite codice Es:
Variabile
numero telefonico
4325678
Tabella PrefissoGiunzione
id
25
radice
4325
ho provato così
SELECT id FROM PrefissoGiunzione WHERE radice like '%4325678%'
ma non mi trova nulla!!!!!!!!!!!!!!!!!!!!!! cosa ho sbagliato? mi trova qualcosa solo se la like la scrivo con i numeri 4325 e basta
grazie per l'aiuto
marcovivio
Profilo
| Expert
548
messaggi | Data Invio:
mer 14 mar 2007 - 09:58
>codice Es:
>
>Variabile
>numero telefonico
>4325678
>
>
>Tabella PrefissoGiunzione
>id
>25
>radice
>4325
>
>
>ho provato così
>
>SELECT id FROM PrefissoGiunzione WHERE radice like '%4325678%'
>
>ma non mi trova nulla!!!!!!!!!!!!!!!!!!!!!! cosa ho sbagliato?
Se all'interno del campo radice sono contenute solo le 4 cifre che indichi tu nell'esempio (cioè 4325) è normale che la query non ti selezioni nulla se nella where metti radice like '%4325678%', questo perchè quello che hai scritto significa: seleziona l'id dalla tabella, dove la radice contiene 432578. Ora, nell'esempio che hai postato tu, la radice è composta solamente dalle cifre 4325, per cui è normale che la select non ritorni nulla.
Viceversa, come hai postato nella seconda parte del messaggio, se nella where imposti i valori 4325 il record ti viene trovato (ed infatti esiste).
Spero di essere stato chiaro, comunque ti posto il link a questo articoletto che spiega (in inglese) il funzionamento della clausola like, con anche degli esempi.
http://www.computerperformance.co.uk/SQL2000/SQL_transact_where_like.htm
Ciao ciao
MV
ANNA79
Profilo
| Junior Member
62
messaggi | Data Invio:
mer 14 mar 2007 - 10:41
Grazie per la risposta
sei stato chiaro
ma il mio problema è che a me serve prendere il numero per intero che è compresa da una parte uguale alla radice e un altra non uguale. Non c'è un modo diverso dalla like che mi faccia ottenere i risultati sopra descritti? grazie
marcovivio
Profilo
| Expert
548
messaggi | Data Invio:
mer 14 mar 2007 - 11:18
In pratica nella selezione vuoi ottenere:
25
4325678
Il problema qual'è? Che nella tabella da cui fai la selezione non è presente il codice completo che ti serve, ma solo un pezzo di quel codice (per la precisione, secondo l'esempio che hai postato tu, 4325).
Dovresti avere una seconda tabella dove è presente il numero telefonico completo, altrimenti non hai possibilità di confrontarli.
Hai una tabella che contiene i numeri telefonici completi?
Ciao ciao
MV
ANNA79
Profilo
| Junior Member
62
messaggi | Data Invio:
mer 14 mar 2007 - 11:38
siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii!!!!
ce l'hooooooooooooooooooooooooooooooooo
allora dalla tabella numero prendo il numero telefonico, confronto questo numero con il campo radice della tabella PrefissoGiunzione.Se questo numero telefonico ha alcuni numeri uguali a quelli della radice allora mi prendo l'id della tabella prefissoGiunzione relativo a questa radice.
Tabella Numero
id
25
numero
343567889
prefissoGiunzione
null
tipoNumero
Interno
Tabella PrefissoGIunzione
id
104
descrizione
Roma
prefisso
1478
radice
3435
Thank you
Anna
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !