如何从列中获取特定的部件字符串



我有两个表一个是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

您可以使用基本字符串函数来标识位于文本MASTERsa之间的值。然后,连接这两个表,以限制仅为第一个表中的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

演示

相关内容

  • 没有找到相关文章

最新更新