SQL PICKUPS

aro.steem(62)
Published in
#sql
Words
193
Reading
1 min
8y
Listen to this post
~1 min

I rarely post about development, and most recently i was posting about KOTLIN
I just wanted to post something, about SQL
Let us say we have a table TBL holding a key varchar column and a value varchar column:

CREATE TABLE TBL (ky varchar2(10), val varchar2(10));

we may have inserted our data:

ky: X val :11
ky: X val :22
ky: Y val: 35
ky: X val: 33

Let us do a SELECT * FROM TBL:

You can clearly notice we have a redundancy on the KY column and we can transpose them:

Doing it so:

SELECT
  *
FROM
  (
   SELECT
   ROW_NUMBER() OVER (PARTITION BY T1.KY ORDER BY T1.KY) AS TAGNUM
   , T1.KY
   , T1.VAL as VAL1
   , T2.VAL as VAL2
   , T3.VAL as VAL3
   FROM
   TBL T1
   LEFT JOIN TBL T2 ON T2.KY = T1.KY AND T2.ROWID NOT IN (T1.ROWID)
   LEFT JOIN TBL T3 ON T3.KY = T1.KY AND T3.ROWID NOT IN (T1.ROWID, T2.ROWID)
   )
WHERE
  TAGNUM = 1

Note that you may extend your left joins until you reach your expected "transpose" window using the same analogy.

SQL PICKUPS | Ecency