Confrontare il contenuto di due colonne presenti in due
tabelle diverse.
STEP 1
Situazione di partenza :
Ho una tabella(TB_A) con il campo composto da NomeCodice
quindi :
TB_A
ID
|
NOMECODICE
|
1
|
ELIO-00001
|
2
|
PAOLO-00002
|
Ho una tabella(TB_B) con un valore abbinato a CODICE
TB_B
CODICE
|
VALORE
|
00001
|
€ 100.000
|
00002
|
€ 20.000
|
STEP 2
Voglio sapere il valore di ELIO presente in TB_B partendo
dal suo ID, quindi:
select TB_B.VALORE
from TB_A,TB_B
WHERE
(CASE WHEN TB_A.NOMECODICE
LIKE '%-%' THEN RIGHT(TB_A.NOMECODICE, Charindex('-', Reverse(TB_A.NOMECODICE)) -
1) END) = TB_B. CODICE
CONCLUSIONE
Vado a spezzare il contenuto di TB_A.NOMECODICE e prendo
solo il primo valore restituito partendo da destra e lo confronto con TB_B.CODICE.
Probabilmente non sarà la soluzione più elegante e pulita da
voi vista, ma è la più facile ed immediata.