SELECT ... FROM ... INNER JOIN ... ON后的结果处理

时间:2018-01-18 10:05:48

标签: mysql sql

我有4个表:<RatingBar android:id="@+id/rating_bar" android:saveEnabled="false" android:isIndicator="true" android:rating="0" style="?android:attr/ratingBarStyle" android:layout_width="wrap_content" android:layout_height="wrap_content"/> tb1tb2tb3

我想返回4个表中的所有列:

tb4

结果是一个新表格,我们称之为SELECT tb1.col1a, tb1.col1b, tb2.col2a, tb3.col3a, tb3.col3b, tb4.col4a FROM tb1, INNER JOIN tb2 ON tb1.col1a=tb2.col2a INNER JOIN tb3 ON tb1.col1a=tb3.col3a INNER JOIN tb4 ON tb3.col3a=tb4.col4a

现在,我想更新tbX的{​​{1}}列,其条件基于col3b,我该怎么办?

1 个答案:

答案 0 :(得分:0)

I think you can update using CTE as below.
WITH TBX
AS
(
SELECT tb1.col1a,tb1.col1b,tb2.col2a,tb3.col3a,tb3.col3b,tb4.col4a
FROM tb1
INNER JOIN tb2 ON tb1.col1a=tb2.col2a
INNER JOIN tb3 ON tb1.col1a=tb3.col3a
INNER JOIN tb4 ON tb3.col3a=tb4.col4a
)
UPDATE XYZ
SET XYZ.COLUMN = WHAT NEED TO BE REPLACED 
FROM XYZ
JOIN TBX
ON XYZ.COLNAME = TBX.COLNAME