Hello Frndz,
I have a table named product as shown below:
product_id product_name
1 AAA
1 BBB
1 CCC
2 PPP
2 QQQ
2 RRR
Now my output should be:
product_id product_name_1 product_name_2 product_name_3
1 AAA BBB CCC
2 PPP QQQ RRR
Answer Posted / tdguy
Hi,
Below query can be used assuming that there would not be
duplicates of product_names in the parent table and only
three product_names would be the output required.
SEL PRODUCT_ID,MIN(PRODUCT_NAME_1) AS PROD1,MIN
(PRODUCT_NAME_2) AS PROD2,MIN(PRODUCT_NAME_3) AS PROD3
FROM
(SEL PRODUCT_ID,PRODUCT_NAME,
ROW_NUMBER() OVER (PARTITION BY PRODUCT_ID ORDER BY
PRODUCT_NAME ASC) AS PRODRANK,
CASE WHEN PRODRANK=1
THEN PRODUCT_NAME END AS PRODUCT_NAME_1,
CASE WHEN PRODRANK=2
THEN PRODUCT_NAME END AS PRODUCT_NAME_2,
CASE WHEN PRODRANK=3
THEN PRODUCT_NAME END AS PRODUCT_NAME_3
FROM PRODUCT) A
GROUP BY 1;
If the above case is numeric, SUM should be used instead of
MIN.
| Is This Answer Correct ? | 7 Yes | 0 No |
Post New Answer View All Answers
How to run a query in teradata?
what is object level locking ? where do appear this type of locking ?
What do you mean by teradata intellicloud?
Why teradata is used?
What is a node in teradata?
What is meant by a node?
How many sessions of MAX is PE capable of handling at a particular time?
What is meant by a Clique?
What happens in a conflict? How do you handle that?
What are the different design perspectives used in teradata?
What are the different table types supported by teradata?
How many tables can you join in v2r5?
What is the maximum number of dml can be coded in a multiload script?
Explain the teradata primary index mechanics in detail with a diagram.
What do you mean by teradata intelliflex?