---
source_url: https://docs.dolphindb.cn/zh/error_codes/S02016.html
fetched_at: 2026-05-19T09:09:30Z
category: error_codes
title: S02016
sha1: 1d2a3abd0492dc0eae9e58b0c04946319515a8bb
---

# S02016

## 错误代码

S02016

## 报错信息

Invalid columns [xxx]. RefId:S02016

## 错误原因

在标准 SQL 的多表连接语句中，不允许使用逗号（,）表示 cross join / inner join。若使用逗号，它会将 from
子句分割成多个表达式，并按照逗号顺序依次计算这些表达式，然后进行 cross join。这会破坏预期的 join 执行顺序，导致预期在后面执行的 join
被提前执行，进而出现找不到连接列的报错。

## 解决办法

脚本中使用 CROSS JOIN 语句替换逗号。例如：

```dolphindb
t1 = table(1..10 as id, rand(1..10, 10) as val);
t2 = table(1..10 as id, rand(1..10, 10) as val);
t3 = table(1..10 as id, rand(1..10, 10) as val);

// 报错 Syntax Error: [line #1] Invalid columns [t1.id]. RefId:S02016
select * from t1, t3 inner join t2 on t1.id = t2.id;

// 改写后可以执行
select * from t1 cross join t3 inner join t2 on t1.id = t2.id;
```
