Self Join
SQL Self Join Example
Access self join: In this update query example we
use the self join query technique to update each Emp's salary by
10%. There are at least two ways to do this update.
Example c) (below) is supposed to work but I get errors in Access. It is called a correlated subquery - if you can tell me what is wrong with it I'd really appreciate it.
Self Join Query Code:
a) Update M_Emp as A INNER JOIN M_Emp as B
ON A.Emp_ID = B.Emp_ID SET A.Salary = B.Salary*1.1
b) Update M_Emp as A, M_Emp as B Set
A.Salary=B.Salary * 1.1
Where A.Emp_ID=B.Emp_ID
c) Update M_Emp as A set A.Salary = (Select Salary
* 1.1 from M_Emp Where M_Emp.Emp_ID = A.Emp_ID)
Note: I have added a another feature to this self join
query example
- Aliases. Aliases are where you use 'as' to establish a short nickname
for a table or a field. This alias feature helps when you have long table names or are trying to
do a correlated subquery.
Additional Self Join Examples:
| RunSql ("Update Tasks set
Task_Complete=False " & _ " where Task_ID=" & Me.Task_ID). End If. End
Sub. Ok... this is more of an SQL example than a visual ... |
| Update M_Emp as A set
A.Salary = (Select Salary * 1.1 from M_Emp Where
M_Emp.Emp_ID = A.Emp_ID) ... |
| RunSQL "Update M_Inventory set
inv_qty=inv_qty+" & Nz(hold_qty, 0) & " where barcode=" & Me.BarCode
DoCmd.RunSQL "Update M_Inventory set inv_qty=inv_qty-" |