不仅仅是C+D,我是想要将A表中的该列所有数据拿到B中去查询
时间: 2024-02-23 19:59:46 浏览: 144
如果你想要将 A 表中的公式列所有数据拿到 B 表中去查询,你可以使用 `JOIN` 操作将表 A 和表 B 进行关联,并将 A 表中的公式列作为条件进行查询。具体来说,你可以使用 `CONCAT()` 函数将 A 表中的公式列转换成可执行的 SQL 语句,然后在查询中执行该 SQL 语句。
例如,假设你有两个表 `tableA` 和 `tableB`,它们的结构如下:
```
tableA
+----+--------+
| id | formula|
+----+--------+
| 1 | C+D |
| 2 | 2*C+D |
| 3 | C+5*D|
+----+--------+
tableB
+----+----+----+
| id | C | D |
+----+----+----+
| 1 | 10 | 20 |
| 2 | 20 | 30 |
| 3 | 30 | 40 |
+----+----+----+
```
现在,你想要查询 `tableB` 表中符合 A 表中公式列对应的条件的行。你可以使用如下 SQL 语句:
```
SELECT tableB.*
FROM tableB
JOIN tableA ON CONCAT('SELECT ', tableA.formula) = CONCAT('SELECT ', tableB.C, '+', tableB.D);
```
在这个 SQL 语句中,我们使用 `JOIN` 操作将 `tableB` 表和 `tableA` 表进行关联,并使用 `CONCAT()` 函数将 A 表中的公式列转换成可执行的 SQL 语句,然后在查询中执行该 SQL 语句,与 `tableB` 表中的 `C` 和 `D` 字段进行比较,以判断是否符合条件。
这样,我们就可以将 A 表中的公式列所有数据拿到 B 表中去查询了。在实际应用中,你可以根据具体需求进行调整。
阅读全文