我有两个表一个是SifraArtikla
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
第二个表ArtikalUsluge扩展了SifraArtikla ID
Id ArtikalID
1 2
我需要从PuniNaziv列'PW60'如果ArtikalID是1,如果ID是2 'PW120',如果ID是3 'pw250'我尝试了if else语句,但它不起作用。有谁能给我一些提示吗?
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
这就是我想要实现的
Id NazivCentrale
1 PW60
2 PW120
3 PW250
您可以使用基本字符串函数来标识位于文本MASTER
和sa
之间的值。然后,连接这两个表,以限制仅为第一个表中的ID
值,您要从中提取文本。
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
演示