orcle 有三个表,a表没数据,b表或者c表有数据, 取b表和c表数据,a,b,c表都有数据取a表数据,其余为
时间: 2023-11-27 19:55:23 浏览: 59
orcle数据类型
可以使用 UNION ALL 和 EXISTS 关键字来实现这个需求。
假设 a 表、b 表和 c 表都有相同的结构,可以使用以下 SQL 语句:
```
SELECT * FROM b
WHERE EXISTS (SELECT 1 FROM c)
UNION ALL
SELECT * FROM c
WHERE EXISTS (SELECT 1 FROM b)
UNION ALL
SELECT * FROM a
WHERE EXISTS (SELECT 1 FROM b)
```
首先,第一行查询 b 表的数据,但只有当 c 表有数据时才返回结果。第二行查询 c 表的数据,但只有当 b 表有数据时才返回结果。第三行查询 a 表的数据,但只有当 b 表有数据时才返回结果。最后,使用 UNION ALL 将三个结果集合并起来。
如果 a 表、b 表和 c 表的结构不同,需要在 SELECT 子句中指定相同的列名并进行适当的类型转换。
阅读全文