Update multiple rows with datas from the same table
i have a table like
name version value1 value2
2 A 4,31 3,5
3 A 3,45 10
2 B 6,97 12
4 B 12 16
so name + version is unique
i have to update the datas value1 and value2 ( version A) with the datas from version B where the name ( VersionA) = name version B
i.e the result should be
name version value1 value2
2 A 6,97 12
3 A 3,45 10
2 B 6,97 12
4 B 12 16
is it possible to do this in sql? ( sql. 8.1)
... if your table does not contain exactly what you expect you could get:
'single row sub-query returns more than one row'
To prevent that, put a unique index on (name, version). If this combination is not always unique, you will need to cater for the possibility in the update statement.
Similar Messages
-
I had an interview question that is:
How to update a table (Customer) on a server ex: Report Server with the data from the same table (Customer) From another server ex: Transaction server?
Set up steps so inset, update or delete operation takes place across the servers.
It would be great if someone please enlighten me in details about this process in MS SQL Server 2008 R2.
Also please describe would it be different for SQL Server 2012?
If so, then what are the steps?I had an interview question that is:
How to update a table (Customer) on a server ex: Report Server with the data from the same table (Customer) from another server ex: Transaction server?
Set up steps so that inset, update or delete operation gets done correctly across servers.
I was not sure about the answer, it would be great if someone please put some light on this and explain in details about this process in MS SQL Server 2008 R2.
Also it would be very helpful if you please describe would it be different for SQL Server 2012? If so, then what are the steps? -
Retrieve data from the same table
i have a table with following fields
emp_no,name,salary,department,dept_prev,prev_emp_no.
now i want retrieve emp_no,name,salary,department, from the data base for a perticular employeee number along with dept_prev
but dept_prev is the prev_emp_no dept_prev
now iam doing two query like this
first query to retreive name,salary,department
select name,salary,department from employee where emp_no = 10
second to retrieve the dept_prev from the same table but this
dept_prev must be based on prev_emp_no
select dept_prev from employee where emp_no in(select prev_emp_no from employee where emp_no =10)
can any one suggest to combine these two queries in a single sql statements, because all the fieldds are from the same table.
ThanksWould this one solve it?
SELECT emp.NAME, emp.salary, emp.department,
prev_emp.dept_prev
FROM employee emp,
employee prev_emp
WHERE emp.emp_no = 10
AND prev_emp.emp_no = emp.prev_emp_no;
not tested
C. -
How to read the hierarchy data from the same table using loop in AMDP method
Hi All,
We have a requirement to get the top partner from BUT050 table.
Here the Top parent is nothing but the top most in the hierarchy of the partners from BUT050.
Example:
For partner 1234 (BUT050-PARTNER1) there is partner 3523(BUT050-PARTNER2) one level above
For partner 3523(BUT050-PARTNER1) there is partner 4544 (BUT050-PARTNER2) last level .
so in this case for the partner 1234 the Top parent is 4544 .
I have created AMDP Procedure method to get the top-parnet and below given is the logic implemented in AMDP method.
Here i have implemented a recursive logic with the WHILE loop to get the top most hierarchy partner from the same table BUT050
IV_Parent is the input partner and ev_top_parent is the output value.
AMDP Procedure Method:
DECLARE lv_date VARCHAR(8) := TO_VARCHAR (current_date, 'YYYYMMDD');
DECLARE found INT := 1;
iv_partner1 = SELECT partner1 FROM but050
WHERE partner2 = iv_partner
AND reltyp = :iv_hierarchy
AND date_to >= :lv_date
AND date_from <= :lv_date;
WHILE found <> 0 do
select partner1 into ev_top_parent from :iv_partner1;
iv_partner1 = SELECT partner1 FROM but050
WHERE partner2 in ( select partner1 from :iv_partner1 where partner1 is not null)
AND reltyp = 'ZBP004'
AND date_to >= :lv_date
AND date_from <= :lv_date;
select COUNT ( partner1 ) INTO found FROM :IV_PARTNER1;
END WHILE;
This method is working fine, but here it is only taking one single partner and getting the top parent as output.
Now i would like to convert this mehtod so as to accept n number of partners (not one single partner) as input and should process each partner to get the top parent.
Could anyone guide me how can i handle the given AMDP method further so as to work some how it is within another loop from other AMDP method.
Thanks.
Regards,
Laxman.PHi
Go to SE11 and enter the hierarchy table name.
/BIC/H....(infoobject name)...and execute the table and select table entry and delete all....
Thanks
TG -
Measure using UseRelationship not working well when sliced with attributes from the same table
Hi,
I have Measure created using the 'UseRelationship' Function, which uses a different datekey to link to the DateDim than the one the table is directly related by. The measure works as expected except in one scenario.
If I browse the measure using an attribute from the same fact table then the attribute is filtered using active relationship whereas the measure is filtered using the inactive relationship as shown below:
FACT(2 rows)(Active Relationship to Date using DateKey1)
SNo DateKey1 DateKey2 Geo Amt
1 20100101 20120101 India 100
2 20100101 20120101 US 200
AmtMeasure:=CALCULATE(SUM([Amt]),USERELATIONSHIP(FACT[DateKey2],'Date'[DateKey]))
If I browse the above measure in excel, with Year selected as 2012, I get 100+200=300. Now if I drag the Geo attribute against the measure I get 2 rows with 100 and 200.
If I do the same in a power view report I don't get any results after dragging the Geo attribute, whereas I get the correct value of 300 without the geo attribute. I checked the DAX query which the power view generates and figured this is being caused because
there are no rows in the table with DateKey1 having year 2012. I understand why this is happening this way in a DAX query and not in MDX, but shouldn't both behave in the same way and what is a work around.
Thanks,
Sachin ThomasSac, is this still an issue?
Thank you!
Ed Price, Azure & Power BI Customer Program Manager (Blog,
Small Basic,
Wiki Ninjas,
Wiki)
Answer an interesting question?
Create a wiki article about it! -
Want to select individual data as well as aggregate data from the same table
want to select a, b from tab1 also need to find in the same table tab1 need to do sum(b) group by a
SELECT a,b,0 AS Ord
FROM tab1
UNION ALL
SELECT a,SUM(b),1
FROM tab1
GROUP BY a
ORDER BY a,Ord
assuming SQL Compact
If its SQL Server then we have much simpler methods
Please Mark This As Answer if it solved your issue
Please Mark This As Helpful if it helps to solve your issue
Visakh
My MSDN Page
My Personal Blog
My Facebook Page -
How to join each row with other in the same table without repeating, please help
Hi,
I have a table say Adjustment having following data
Emp_Id
Adjustment_id
Date
1000101
1000300
2014-02-12 00:00:00.000
1000101
1000301
2014-02-12 00:00:00.000
1000101
1000302
2014-02-12 00:00:00.000
1000101
1000303
2014-02-12 00:00:00.000
1000102
1000302
2014-02-12 00:00:00.000
1000102
1000303
2014-02-12 00:00:00.000
1000102
1000304
2014-02-12 00:00:00.000
And I want following records:
Emp_Id
Adjustment_id Adjustment_id1
Date
1000101
1000300 1000301
2014-02-12 00:00:00.000
1000101
1000300 1000302
2014-02-12 00:00:00.000
1000101
1000300
1000303
2014-02-12 00:00:00.000
1000101
1000301 1000302
2014-02-12 00:00:00.000
1000101
1000301 1000303
2014-02-12 00:00:00.000
1000101
1000302 1000303
2014-02-12 00:00:00.000
1000102
1000302 1000303
2014-02-12 00:00:00.000
1000102
1000302 1000304
2014-02-12 00:00:00.000
1000102
1000303
1000304
2014-02-12 00:00:00.000Hi Uri,
I am using SQL Server 2008, and I am trying join each adjustment_id with all other adjustment_id having same Date and Emp_id.
so for following table records:
Emp_Id
Adjustment_id
Date
1000102
1000302
2014-02-12 00:00:00
1000102
1000303
2014-02-12 00:00:00
1000102
1000304
2014-02-12 00:00:00
Output should be:
Emp_Id
Adjustment_id Adjustment_id
Date
1000102
1000302 1000303
2014-02-12 00:00:00 (first row with 2nd)
1000102
1000302 1000304
2014-02-12 00:00:00 (first row with 3rd)
1000102
1000303 1000304
2014-02-12 00:00:00 (2nd row with 3rd) -
Query - Get data from the same table and field two times on a single line
I have prepared a query showing the bill of material. At each line each component will be a new line and I want to have the description of the material at the top (the master material composed of the component ones) and also the description of the component materials on the same line. This means that I should be able to use MAKT table 2 times on a single line of the query. I have used the query tool with SQ01 and SQ02 tcodes. How can I get the the description of the material at the top and also the description of the component material on a single line?
Thanks in advance for the answers.Yasar,
Any time you wish to use a table twice in an SQ01 query, you have to create an alias.
SQ02 > select the infoset, 'change' > go to Join definitions.
Select 'Alias' button. Create. Select your table name (such as MAKT) and define an alias, such as 'COMP_MAKT' for component descriptions.
Now you can insert the Alias table into your infoset just like it was a regular table, and use standard join method to join COMP_MAKT to your component material number.
Best regards,
DB49 -
Comparing totals from the same table
I am trying to compare data from the same table..
i am using an alias of the table to set up the select but i am running into a cartesian set.
I am comparing data (totals) from different dates from the same table ; i have included the query which is giving me a problem:
select a.date_in,b.date_in,a.Table_name,
DECODE(a.schema_name,
'EZLIVE','ITP','EZAC','ACT','OTHER')AS DEPT,
a.type,
a.status,
a.TOTAL,
b.total
from agg_results a,agg_results b
where a.schema_name=b.schema_name
and to_char(a.date_in,'mm/dd/yyyy')='&date_in'
and to_char(b.date_in,'mm/dd/yyyy')='&date_in';
any help thanks
ElleryI think you need to join in-line views instead of the tables directly. something like:
SELECT a.date_in,b.date_in,a.table_name,a.dept,a.type,a.status,a.total,b.total
FROM (SELECT date_in,table_name,
DECODE(schema_name,'EZLIVE','ITP',
'EZAC','ACT','OTHER') dept,
type,status,total
FROM agg_results
WHERE date_in = to_date('&date_in','mm/dd/yyyy') a,
(SELECT date_in,table_name,
DECODE(schema_name,'EZLIVE','ITP',
'EZAC','ACT','OTHER') dept,
type,status,total
FROM agg_results
WHERE date_in = to_date('&date_in','mm/dd/yyyy') b
WHERE a.dept = b.deptTTFN
John -
Updating Multiple Rows With A Sequence
I'm trying to update multiple rows of data in one column based on if its date is greater than a certain date. Starting with the lowest date from those dates I'll give it a 2000 and every ascending date from that point will be another number in sequence (2001, 2002, 2003, etc.).
Apologization Edit:
11g XE
Edited by: spysmily1 on Jun 4, 2012 5:50 PM
Edited by: spysmily1 on Jun 4, 2012 5:51 PMI would use a counter and start at a specific number. Then I would try to keep updating with this number and incrementing each time. The part I can't quite grasp is how to use this number with the lowest record and apply this sequence to each date that ascends from there. What I was going to try to come up with is something like:
DECLARE
counter := 2000;
BEGIN
loop
update table_name
set column_name = counter
where date > specified date;
counter := counter + 1;
end loop;
This is my first thought but I couldn't see a way to just update the first one that is greater than the specified date and then keep cycling through the dates until the last date(most recent). I know I would need a loop but what can I set that loop to so it would know when to stop. I could use a variable I know is less than the total amount that need to be altered.
Edited by: spysmily1 on Jun 4, 2012 6:21 PM -
Table - populate one table with data from the list of another table
Hello All,
I am a newbie in Swing and am a book and few tutorials old.
I am trying to achieve the following:
(1) I populate Table1 (a JTable) with a list of data - each row consists of several columns. And I have a Table2 (also JTable) that is in the beginning empty.
Both the tables (Table1 and Table2) are showed in the window.
(2) Lets say, there's a button (JButton) in between the two tables.
Now if I Select a row from Table1 and press the button, this row will be sent/copied to Table2.
And this way I can choose different rows and pass the data to Table2.
I have manages to make Table1 and put data in it ... but for the rest, I don't know where and how to begin.
Would appreciate some ideas and tips.
Thank you.Since you are using a button to start the copy process you don't need to worry about a ListSelectionListener or a MouseListener. You need to create a button with an ActionListener that does the following:
a) Create an Array based on the size of the number of columns in the table
b) get the index of the selected row
c) populate the Array with data from the TableModel by using the table.getModel().getValueAt(...) method for each
d) Now you can add the row of data to the other JTable by updating its model.
DefaultTableModel model2 = (DefaultTableModel)table2.getMode();
model.addRow( theArray ); -
SUM two fileds from different rows from the same table
I would like to SUM two fileds from different rows from the same table but I don't know how to do that.
E.g.
BillingTransactionsIndex CreateDate UserType UserIndex TransType Reference Total Balance
2 6/5/2008 15:02 1 51 1 150 -288.2 -288.2
5 6/8/2008 11:55 1 51 1 157 -1.58674 -289.787
In the table above I want SUM fields Total and Balance for the first row and the the next row SUM 2nd row Total with 1st row Balance
Please help
ThanksSQL> with tbl as
2 (select 1 as ID, 90 as total from dual
3 union all
4 select 2 as ID, 23 as total from dual
5 union all
6 select 3 as ID, 15 as total from dual
7 union all
8 select 4 as ID, 20 as total from dual)
9 select id , total, sum(total) over (order by ID) as balance from tbl
10 /
ID TOTAL BALANCE
1 90 90
2 23 113
3 15 128
4 20 148
SQL> -
Export the data with Alias from the alternative table using ODI
Hi!
How to export the data from Essbase with Alias from the alternative table using ODI?
Thanks.Are you on 10.1.3.6.x? Then: http://john-goodwin.blogspot.com/2008/09/odi-series-part-2-agent.html
Are you on 11g? Then: http://john-goodwin.blogspot.com/2010/12/managing-odi-11g-standalone-agents.html
I will say with only a mild amount of shame and a large amount of gratitude that I installed both releases' agents through John's blog posts.
Regards,
Cameron Lackpour
Edited by: CL on Jun 4, 2012 5:48 PM
Whoops, had the same link in there twice. -
i accidentally deleted the admin user and it wiped out everything, luckily it wasn't much, but is my computer going to be completely overloaded with data from the last user? for example, i had to redownload microsoft 2011 do i have little space now?
i accidentally deleted the admin user and it wiped out everything, luckily it wasn't much, but is my computer going to be completely overloaded with data from the last user? for example, i had to redownload microsoft 2011 do i have little space now?
-
How to compare two fields from the same table in the select statement
Hi, friends
I try to compare tow fields from the same table, but no result,
For example, this
data: cptotchek tyep i.
select count(*) into cptotchek
from aufk where erdat = aufk-idat2 .
The result is cptotchek = 0, but there are the records in aufk , where, aufk-erdat = aufk-idat2.
Please, help me, i don't use the loop statement for optimize my program.
RegardsHi ,
it will not return any value when you are using column of same table
such as Date Field , Because while Using Aggregate Function it will not check with self column
. For that you have to take data in one internal table and then you can work on it .
And if you are worried about Performance it will not affect , untill you are selecting only required data .
you can try this way .
data: cptotchek type i.
types : begin of w_aufk.
include structure aufk .
types : end of w_aufk .
data : it_aufk type standard table of w_aufk with header line .
select * into corresponding fields of table it_aufk
from aufk .
loop at it_aufk .
if it_aufk-erdat = it_aufk-idat2 .
write : / it_aufk-erdat , it_aufk-idat2 .
else .
delete it_aufk .
endif .
endloop.
Regards
Deepak.
Maybe you are looking for
-
I lost all my playlists trying to download I tunes 8 and It deleted them from all my devices becuase of music match. I have an Ipod that still has all the playlists can I restore them from that device?
-
When saving from the print menu to PDF to iBooks, it saves it as unnamed document.
When saving from the print menu to PDF to iBooks, it saves it as unnamed document. Would like to be able to give it a name before saving it, or at least have a rename function in iBooks. Can use Preview and rename it in Downloads and then move it to
-
Problem with the Collaboration Instant messaging
Hello, When a user is trying to send a message in the Collaboration Launch pad under instant message instead of the user name we get another name. Can anyone please tell me the solution. Thnx in advance. cheers Murali
-
hai experts, the issue is dealt with retrieving the data of the release note when the purchase order is rejected by any autority they will give the reasons of rejection in the release note under the text tab at the heade level of purchase order when
-
On my list of incoming/outgoing phone calls some of them have an icon beside the name which is a telephone handset and something else I don't recognize. Can anyone tell me what it means and where to find a list of icon explanations? Thanks.