Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
How To Use Values from Other Tables in UPDATE Statements
How To Use Values from Other Tables in UPDATE Statements? - MySQL FAQs - Understanding SQL INSERT, UPDATE and DELETE Statements
✍: FYIcenter.com
If you want to update values in one table with values from another table, you can use a subquery as an expression in the SET clause. The subquery should return only one row for each row in the update table that matches the WHERE clause. The tutorial exercise below shows you a good example:
mysql> CREATE TABLE fyi_rates (id INTEGER,
comment VARCHAR(16));
Query OK, 0 rows affected (0.53 sec)
mysql> INSERT INTO fyi_rates VALUES (101, 'The best');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO fyi_rates VALUES (102, 'Well done');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO fyi_rates VALUES (103, 'Thumbs up');
Query OK, 1 row affected (0.00 sec)
mysql> UPDATE fyi_links SET notes = (
SELECT comment FROM fyi_rates
WHERE fyi_rates.id = fyi_links.id
)
WHERE id > 0 AND id < 110;
Query OK, 3 rows affected (0.50 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> SELECT id, url, notes, counts FROM fyi_links
WHERE id > 0 AND id < 110;
+-----+-------------------+-----------+--------+
| id | url | notes | counts |
+-----+-------------------+-----------+--------+
| 101 | dev.fyicenter.com | The best | 999 |
| 102 | dba.fyicenter.com | Well done | 0 |
| 103 | sqa.fyicenter.com | Thumbs up | NULL |
+-----+-------------------+-----------+--------+
3 rows in set (0.00 sec)
Note that if column names are confusing between the inner table and the outer table, you need to prefix column names with table names, like "fyi_rates.id = fyi_links.id".
2007-05-11, 5442👍, 0💬
Popular Posts:
What is the sequence of UML diagrams in project? First let me say some fact about this question, you...
What is the purpose of the wait(), notify(), and notifyAll() methods? The wait(),notify(), and notif...
What is the difference between CALL_FORM, NEW_FORM and OPEN_FORM? CALL_FORM: start a new form and pa...
What are database triggers? How are the triggers fired? Read this collection of questions and answer...
Can include files be nested? The answer is yes. Include files can be nested any number of times. As ...