Reputation: 1040
Table 2_1_journal
TransactionPartnerName
-----------------------
name 1
name 2
name 3
Table 2_1_transactionpartners
CompanyName | PreviousCompanyName
------------------------------------
name 1 |
name 2 |
name 3 | name 2
For example want to change name 1
to name 11
.
At first in table 2_1_transactionpartners
copy name 1
from CompanyName
and paste it in PreviousCompanyName
Next need in table 2_1_journal
change name 1
to name 11
. I think: change TransactionPartnerName
to CompanyName
where TransactionPartnerName
equals to PreviousCompanyName
. But I do not want in table 2_1_journal
change name 2
to name 3
because want (give command) only to change name 1
to name 11
.
This is my code. Found no errors. But want to be sure about what code does
UPDATE 2_1_journal
INNER JOIN 2_1_transactionpartners ON (2_1_journal.TransactionPartnerName = 2_1_transactionpartners.PreviousCompanyName)
SET 2_1_journal.TransactionPartnerName = 2_1_transactionpartners.CompanyName
WHERE 2_1_transactionpartners.CompanyName = ?
?
= name 11
As understand code updates 2_1_journal
and copy CompanyName
to TransactionPartnerName
if CompanyName
equals to name 11
and TransactionPartnerName
equals to PreviousCompanyName
Am I correct? May be there is better way to reach the aim?
Upvotes: 0
Views: 30
Reputation: 3665
UPDATE IGNORE 2_1_transactionpartners, 2_1_journal
SET 2_1_journal.TransactionPartnerName = 2_1_transactionpartners.CompanyName
WHERE 2_1_journal.TransactionPartnerName =
2_1_transactionpartners.PreviousCompanyName
AND 2_1_transactionpartners.CompanyName = ?
Upvotes: 1