| | |
Split record into 2 records
Please support our MS SQL advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Oct 2008
Posts: 2
Reputation:
Solved Threads: 0
Hi,
I am trying to break each record into 2 records but failed
Is it possible?
What is the correct way to do it?
Thanks in advance!!!
For Example:
I have a table that contains 100 records . Each record has the following 10 columns:
Col1, Col2, Col3, Col4, Col5, Col6, Col7
A MT 30 UK 0 70 FR
A SM 30 IL 0 0 PS
And that the result that I want to achieve for the 2 records:
ID JoinID Col1, Col2, Col3, Col4
1 1 Col1 MT UK Yes
2 1 Col3 MT FR No
3 2 Col1 SM IL Yes
4 2 Col3 SM PS Yes
ID - An Incremental id
JoinID - A Join ID to join the 2 records
Col1 - Contains the Col1 title for the first line And Col3 title for the second line.
Col2 - Contains the Col2 value for both lines.
Col3 - Contains the Col4 value for the first line And Col7 value for the second line.
Col4 - If Col5 value = 0 Then the value for the first line is 'Yes' Else 'No'
And for the second line, if Col6 value = 0 Then the value 'Yes' Else 'No'
I am trying to break each record into 2 records but failed
Is it possible?
What is the correct way to do it?
Thanks in advance!!!
For Example:
I have a table that contains 100 records . Each record has the following 10 columns:
Col1, Col2, Col3, Col4, Col5, Col6, Col7
A MT 30 UK 0 70 FR
A SM 30 IL 0 0 PS
And that the result that I want to achieve for the 2 records:
ID JoinID Col1, Col2, Col3, Col4
1 1 Col1 MT UK Yes
2 1 Col3 MT FR No
3 2 Col1 SM IL Yes
4 2 Col3 SM PS Yes
ID - An Incremental id
JoinID - A Join ID to join the 2 records
Col1 - Contains the Col1 title for the first line And Col3 title for the second line.
Col2 - Contains the Col2 value for both lines.
Col3 - Contains the Col4 value for the first line And Col7 value for the second line.
Col4 - If Col5 value = 0 Then the value for the first line is 'Yes' Else 'No'
And for the second line, if Col6 value = 0 Then the value 'Yes' Else 'No'
•
•
Join Date: Feb 2008
Posts: 42
Reputation:
Solved Threads: 13
Try this code below:
MS SQL Syntax (Toggle Plain Text)
SELECT 1 AS Col1, 'MT' AS Col2, 30 AS Col3, 'UK' AS Col4, 0 AS Col5, 70 AS Col6, 'FR' AS Col7 INTO #tmpX union ALL SELECT 2 AS Col1, 'SM' AS Col2, 30 AS Col3, 'IL' AS Col4, 0 AS Col5, 0 AS Col6, 'PS' AS Col7 SELECT Identity(int, 1, 1) AS ID, * INTO #tmpResult FROM ( SELECT Col1 AS JoinID, 'Col1' AS Col1, Col2, Col4 AS Col3, case when Col5 = 0 then 'Yes' else 'No' end AS Col4 FROM #tmpX union ALL SELECT Col1 AS JoinID, 'Col3' AS Col1, Col2, Col4 AS Col3, case when Col6 = 0 then 'Yes' else 'No' end AS Col4 FROM #tmpX ) X ORDER BY JoinID SELECT * FROM #tmpResult DROP TABLE #tmpResult DROP TABLE #tmpX
Hence Wijaya
www.ex-Soft.tk
www.ex-Soft.tk
![]() |
Similar Threads
- fstream Tutorial (C++)
- seeming limit on number of shelve records? (Python)
- VB6 - Excel display error: "#######" (Visual Basic 4 / 5 / 6)
- Updating a file: setting the offset (Perl)
- Saving Entered Data (C++)
- select statemt LIKE (MySQL)
- Print 5 records per table row (see script) (Perl)
- Primary Key Issue (Visual Basic 4 / 5 / 6)
Other Threads in the MS SQL Forum
- Previous Thread: Codings
- Next Thread: Error converting data type varchar to datetime
| Thread Tools | Search this Thread |





