I have to abbreviate the values for column 3 I have mentioned create table script, insert values query, query which i tried and expecting output. Please help me to abbreviate the column3 from the column2
Insert query for demotable:
INSERT INTO demotable (ItemNumber, NounMod, Attri, Attval)
VALUES ('CTPLMSP006858', 'HOSE,BRAIDED', 'TYPE', 'FLEXIBLE' ),
('CTPLMSP006858', 'HOSE,BRAIDED', 'SIZE', '12'),
('CTPLMSP006858', 'HOSE,BRAIDED', 'UOM', 'MM'),
('CTPLMSP006858', 'HOSE,BRAIDED', 'END CONNECTION', 'Not applicable'),
('CTPLMSP006858', 'HOSE,BRAIDED', 'WORKING PRESSURE', '10 BAR'),
('CTPLMSP006858', 'HOSE,BRAIDED', 'MATERIAL', 'NYLON,PVC'),
('CTPLMSP006858', 'HOSE,BRAIDED', 'EQUIPMENT NAME', ''),
('CTPLMSP006858', 'HOSE,BRAIDED', 'OTHER INFO', '')
I have a table which is named as demotable.
ItemNumber NounMod Attri Attval
--------------------------------------------------------------------
CTPLMSP006858 HOSE,BRAIDED TYPE FLEXIBLE
CTPLMSP006858 HOSE,BRAIDED SIZE 12
CTPLMSP006858 HOSE,BRAIDED UOM MM
CTPLMSP006858 HOSE,BRAIDED END CONNECTION Not applicable
CTPLMSP006858 HOSE,BRAIDED WORKING PRESSURE 10 BAR
CTPLMSP006858 HOSE,BRAIDED MATERIAL NYLON,PVC
CTPLMSP006858 HOSE,BRAIDED EQUIPMENT NAME
CTPLMSP006858 HOSE,BRAIDED OTHER INFO
Insert values query for ABBTBL:
INSERT INTO ABBTBL (vcWord, vcAbbreviation, vcNotes, vcDelFlag)
VALUES ('bar', 'BR', '', 'FALSE' ),
('HOSE', 'HSE', '', 'FALSE'),
('FLEXIBLE', 'flex', '', 'FALSE' ),
('not applicable', 'N/A', '', 'FALSE'),
('Braided', 'BRAID', '', 'FALSE')
I have another table which is named abbtbl:
inRecordId vcWord vcAbbreviation vcNotes vcDelFlag
--------------------------------------------------------------------------------------
1 bar BR NULL FALSE
2 HOSE HSE NULL FALSE
3 FLEXIBLE flex null false
4 not applicable N/A null false
5 Braided BRAID
My query:
SELECT
A.ItemNumber,
shortdesc = LEFT( A.NounMod +','+
STUFF((
SELECT ';' +ISNULL([AttVal], '')+' '+ISNULL(Attuom , '')
FROM demotable
WHERE ItemNumber = A.ItemNumber AND NounMod = A.NounMod
AND NOT (ISNULL([AttVal], '') = '' AND ISNULL(Attuom , '') = '')
FOR XML PATH('')
), 1, 1, ''),40),
shortdescabb =
LEFT( b.vcAbbreviation +','+
STUFF((
SELECT ';' +ISNULL( b.vcAbbreviation, '')+' '+ISNULL( b.vcAbbreviation , '')
FROM demotable a
inner join ABBTBL b on b.vcWord = a.NounMod
WHERE ItemNumber = A.ItemNumber AND NounMod = A.NounMod
AND NOT (ISNULL([AttVal], '') = '' AND ISNULL(Attuom , '') = '')
FOR XML PATH('')
), 1, 1, ''),40)
FROM demotable A, ABBTBL b
GROUP BY A.ItemNumber,A.NounMod
in my above query column shortdesc is working properly but column shortdescabb is not abbreviating getting error
Expicting output:
ItemNumber shortdesc shortdescabb
--------------------------------------------------------------------------------
CTPLMSP006858 HOSE,BRAIDED,FLEXIBLE;12;MM;Not applicabl HSE,BRAID,FLEX;12;MM;N/A;10 BR;NYLON
I have mentioned create table query and insert values query below. create table script for demotable:
CREATE TABLE [dbo].[demotable]
(
[ItemNumber] [varchar](50) NULL,
[NounMod] [varchar](50) NULL,
[Attri] [varchar](50) NULL,
[Attval] [varchar](5000) NULL,
[Attuom] [varchar](50) NULL
) ON [PRIMARY]
Create table script for ABBTBL:
CREATE TABLE [dbo].[ABBTBL]
(
[inRecordId] [int] IDENTITY(1,1) NOT NULL,
[vcWord] [varchar](500) NULL,
[vcAbbreviation] [varchar](100) NULL,
[vcNotes] [varchar](200) NULL,
[vcDelFlag] [varchar](5) NULL
) ON [PRIMARY]