Solved

Inserting data using column numbers

Posted on 2015-02-11
8
86 Views
Last Modified: 2015-02-11
Hi,

Would it be possible to insert data from another table using column numbers. We have a reference table that holds the column numbers together with the corresponding column header value.  The reference table is as follows:
Name VARCHAR (30)
ColumnNumber INT

We would also like to be able to insert the corresponding Name value into the target table together with the other info.

Target Table is as follows:
Name VARCHAR(30)
Results VARCHAR (50).

It would probably mean an UPDATE statement, as the target table is already populated with IDs, dates, etc from the source table. Unless there is a way to INSERT the whole line at once.

Any assistance would be appreciated.
Thanks.
0
Comment
Question by:Morpheus7
  • 3
  • 3
  • 2
8 Comments
 
LVL 33

Expert Comment

by:ste5an
ID: 40603207
You know, that you cannot rely on column order?
0
 

Author Comment

by:Morpheus7
ID: 40603247
Hi,
Yes I understand that but our customer will only supply the data in this format. We receive a file from them, then plan to load it into a work table and split out the info that we need using the column numbers. So we really have no choice about this.

Thanks
0
 
LVL 33

Expert Comment

by:ste5an
ID: 40603331
Please rephrase your question and explain your concrete problem.

It sounds like a common file import. But this has nothing to do with "Inserting data using column numbers" on T-SQL level. This kind of transformation is normally done in the front-end.

Give us a concise and complete example. Add some sample import file and your DDL sofar.
0
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 
LVL 24

Expert Comment

by:Phillip Burton
ID: 40603417
Can you give a little bit of:

1. current table,
2. sample data and
3, resultant table.
0
 

Author Comment

by:Morpheus7
ID: 40603577
Hi,

If there is a way to insert the column heading in one table as a data item in another.
The way we receive the data is as follows:

ProdID   Barcode      TestName1 TestName2 TestName3 TestName4
AB1256 12345678      3.67              90.89            7.789            56.0

In the table above, we have one row per ProdID. We need to be able to move the data to another table where we have one row per test. So in the case above we would then have 4 entries in the new table.  So we would need to be able to insert  TestName1 TestName2 TestName3 TestName4 as data items in the new table together with the values for that test like so:

AB1256       TestName1     3.67
AB1256       TestName2    90.89
AB1256       TestName3    7.789
AB1256       TestName4    56.0

Thanks
0
 
LVL 24

Accepted Solution

by:
Phillip Burton earned 500 total points
ID: 40603604
Sounds like you want:

Select ProdID, 'TestName1' as FieldName, TestName1 as myValue
From MyTable
Where TestName1 is not null
UNION ALL
Select ProdID, 'TestName2', TestName2
From MyTable
Where TestName2 is not null
UNION ALL
Select ProdID, 'TestName3', TestName3
From MyTable
Where TestName2 is not null
UNION ALL
Select ProdID, 'TestName4', TestName4
From MyTable
Where TestName4 is not null
0
 
LVL 24

Expert Comment

by:Phillip Burton
ID: 40603609
Alternatively, you can UNPIVOT:

Select ProdID, FieldName, myValue
from (Select ProdID, TestName1, TestName2, TestName3, TestName4
From myTable) as pvt
UNPIVOT
(myValue FOR FieldName IN (TestName1, TestName2, TestName3, TestName4)) as unpvt;
0
 

Author Closing Comment

by:Morpheus7
ID: 40603638
That's great, thank you.
0

Featured Post

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will describe one method to parse a delimited string into a table of data.   Why would I do that you ask?  Let's say that you need to pass multiple parameters into a stored procedure to search for.  For our sake, we'll say that we wa…
Introduction This article will provide a solution for an error that might occur installing a new SQL 2005 64-bit cluster. This article will assume that you are fully prepared to complete the installation and describes the error as it occurred durin…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question