I have two tables one is SifraArtikla
x
ID PuniNaziv
1 M-bus centrala tip MASTER PW60 sa adapterom
2 M-bus centrala tip MASTER PW120 sa adapterom
3 M-bus centrala tip MASTER PW250 sa adapterom
The second table ArtikalUsluge extend the SifraArtikla ID
Id ArtikalID
1 2
I need to get from PuniNaziv column ‘PW60’ if ArtikalID is 1 else if ID is 2 ‘PW120’ else if ID is 3 ‘pw250’ I tried with if else statment but it didn’t work. Can anyone give me some hints please.
DECLARE @OznakaCentrale NCHAR
SET @OznakaCentrale = 'PW%'
IF(@OznakaCentrale == SifreArtikala.PuniNaziv)
SELECT SifreArtikala.PuniNaziv AS NazivCentrale FROM SifreArtikala
INNER JOIN ArtikliUslugeNaloga ON ArtikliUslugeNaloga.Artikal1Id = SifreArtikala.Id
This is what I want to achive
Id NazivCentrale
1 PW60
2 PW120
3 PW250
Advertisement
Answer
You could use the base string functions to identify the value as being in between the text MASTER
and sa
. Then, join the two tables to restrict to only the ID
values in the first table from whose text you want to extract.
SELECT
sa.ID,
SUBSTRING(sa.PuniNaziv,
CHARINDEX('MASTER', sa.PuniNaziv) + 7,
CHARINDEX('sa', sa.PuniNaziv) - CHARINDEX('MASTER', sa.PuniNaziv) - 8) AS P_ID
FROM SifraArtikla sa
INNER JOIN ArtikalUsluge au
ON au.ArtikalID = sa.ID