请在'FROM TABLE_ABC A'之后向我解释使用逗号。它如何在执行sql查询时起作用。
CREATE TABLE ABCD AS
( SELECT A.*
FROM TABLE_ABC A,
(SELECT COL_1,COL_2 FROM
(SELECT B.*,C.* FROM
TABLE_XYZ B, TABLE_MNO C
WHERE B.COL_X=C.COL_Y
)D
)A.COL_C=D.COL_D
)
WITH DATA PRIMARY INDEX(SASAJS)
答案 0 :(得分:1)
类似于加入
select * from #tempA ta join #tempB tb
on ta.ID = tb.ID
与
相同select * from #tempA ta, #tempB tb
where ta.ID = tb.ID
使用JOINS使代码更易于阅读
答案 1 :(得分:0)
您正在使用select创建第二个表,该表也是从另一个子选择中创建的。看到这样,你就会更好地理解它:
CREATE TABLE ABCD AS(
SELECT
A.*
FROM
TABLE_ABC A,
(
SELECT
COL_1,
COL_2
FROM
(
SELECT
B.*,
C.*
FROM
TABLE_XYZ B,
TABLE_MNO C
WHERE
B.COL_X = C.COL_Y
) D
)
WHERE
A.COL_C = D.COL_D
) WITH DATA PRIMARY INDEX(SASAJS)
但是您的原始代码在A.COL_C = D.COL_D之前缺少WHERE CLAUSE。我加入了它。
我假设B. *或C. *有一个名为COL_D的列,A也有它。如果D在最后一个WHERE之前的那个之后也会更好