• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 66
  • Last Modified:

SQL server express update query

I have a query just to show 1 client code as a demo. I would like to update the [strshort] column to be populated like this:

any words not in the TblWordTags to be used in the creation of the short string:

here
word 1= "A3"
word 2 ignore as it is in TblWordTags
Word 3 = Sport

query must update StrShort in this example to A3 + chr32() + Sport

The order of the rebuilt short string goes in same order just minus the words we dont want.

I am in a vb.net windows application pulling data from Sql server db Dictionary. I am not sure how to create this query, can it be done soley in sql server and then run as a stored procedure or do I need to pull the data in and create a function to do it?
. I only need to do the operation for clientcodes that have tagged words in TblTagWords.
EE.JPG
0
PeterBaileyUk
Asked:
PeterBaileyUk
  • 4
  • 2
1 Solution
 
ste5anSenior DeveloperCommented:
First of all: You're talking about order of words, but your sample does not provide information about this order. Much worse it does not even has an criteria, which can be used for ordering.

So you may use something like

DECLARE @StopWords TABLE
    (
      StopWordText NVARCHAR(255) NOT NULL
                                 PRIMARY KEY
    );

INSERT  INTO @StopWords
VALUES  ( N'and' );

DECLARE @Words TABLE
    (
      WordText NVARCHAR(255) NOT NULL ,
      SentenceID INT NOT NULL
    );

INSERT  INTO @Words
VALUES  ( N'A3', 1 ),
        ( N'and', 1 ),
        ( N'Sport', 1 ),
        ( N'Cookies', 2 ),
        ( N'and', 2 ),
        ( N'Tea', 2 );

WITH    Filtered
          AS ( SELECT   W.WordText ,
                        W.SentenceID
               FROM     @Words W
                        LEFT JOIN @StopWords SW ON W.WordText = SW.StopWordText
               WHERE    SW.StopWordText IS NULL
             )
    SELECT  O.SentenceID ,
            RTRIM(( SELECT  I.WordText + ' '
                    FROM    Filtered I
                    WHERE   I.SentenceID = O.SentenceID
                  FOR
                    XML PATH('')
                  )) AS ConcatWordText
    FROM    Filtered O
    GROUP BY O.SentenceID;

Open in new window

0
 
PeterBaileyUkAuthor Commented:
It did have a word position field called [wordposition] its in the scan the EE.jpg
0
 
PeterBaileyUkAuthor Commented:
does that change the solution example now?
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
ste5anSenior DeveloperCommented:
Please, include table DDL and sample data INSERT statements as runnable T-SQL script to your posts.

Just use it as order criteria in the concat-subquery..

WITH    Filtered
          AS ( SELECT   W.WordText ,
                        W.SentenceID
               FROM     @Words W
                        LEFT JOIN @StopWords SW ON W.WordText = SW.StopWordText
               WHERE    SW.StopWordText IS NULL
             )
    SELECT  O.SentenceID ,
            RTRIM(( SELECT  I.WordText + ' '
                    FROM    Filtered I
                    WHERE   I.SentenceID = O.SentenceID
                    ORDER BY wordposition
                    FOR XML PATH('')
                  )) AS ConcatWordText
    FROM    Filtered O
    GROUP BY O.SentenceID;

Open in new window


p.s. a question about coding (text) and a image. Doesn't ring that a bell? Do you really think that we open an image and copy then your code manually?
0
 
PeterBaileyUkAuthor Commented:
apologies I am a beginner at the sql server stuff and berating me publicly seems a tad unkind but well that's in-experience for you. The image was there For info and not meant too offend. I will endeavor in future to add the items you said.
0
 
PeterBaileyUkAuthor Commented:
thank you very much
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now