Ch2231
Ch2231

Reputation: 171

How to concatenate columns in update statement

I have this table:

t:([] name:("aaa";"bbb";"ccc";"dddd"); side:(1;2;1;2))

Now I want to add a new column "concatenated", which contains a symbol, which is the concatenation of both values for each row: I would assume that I have to do this with an each-both adverb, but this here does not work:

update concatenated:((`$name),'(`$side)) from t

How would I have to change this? Thanks.

Upvotes: 0

Views: 258

Answers (1)

Cmccarthy1
Cmccarthy1

Reputation: 388

Your attempt is close the issue with it works if you convert the 'side' column to string format first

I've added two versions one where the concatenation does not merge the 2 values and one where they are merged as a single symbol

q)t:([] name:("aaa";"bbb";"ccc";"dddd"); side:(1;2;1;2))
q)update conc:((`$name),'`$string side) from t
name   side conc  
------------------
"aaa"  1    aaa  1
"bbb"  2    bbb  2
"ccc"  1    ccc  1
"dddd" 2    dddd 2
q)update conc:(`$name,'string side) from t
name   side conc 
-----------------
"aaa"  1    aaa1 
"bbb"  2    bbb2 
"ccc"  1    ccc1 
"dddd" 2    dddd2

Hope this helps

Upvotes: 1

Related Questions