for example, I got table order
looks like
| orderId | type |
| --------|------|
| 1 | pig|
| 2 | cat|
| 3 | cat|
and here I got a table adopt
|orderId|type|
| --- |---|
|1 | 1|
|2 | 2|
|3 | 0|
I want to update the type
value(int) of table adopt
depends on the type
value(string) of table order
, pig
means 1 ,cat
means 2, so the third row in table adopt
should look like (3,2)
, is there any sql can make this work, or I should
use programming language instead.
CodePudding user response:
update adopt a
join `order` o on o.orderId = a.orderId
set a.`type` = case when o.`type` = 'pig' then 1
when o.`type` = 'cat' then 2
else 0
end