oracle 查询语句.table 表当 c=1 时.查询字段 a.当 c=2 时查询 b 字段
时间: 2024-03-20 16:45:18 浏览: 48
你可以使用 Oracle 中的 CASE 表达式来实现这个需求,示例代码如下:
```
SELECT
CASE
WHEN c = 1 THEN a
WHEN c = 2 THEN b
END AS result
FROM
table;
```
在上面的查询语句中,我们使用 CASE 表达式来根据 c 字段的值来选择需要查询的字段。当 c 等于 1 时,查询 a 字段的值;当 c 等于 2 时,查询 b 字段的值。通过 AS 关键字,我们将结果命名为 result 字段并输出。你可以根据实际情况修改表名和字段名。
相关问题
查询table表,如果table表的type字段为type1则通过table表的code字段关联table1表的code字段返回table1表的id字段值;如果table表的type字段为type2则通过table表的code字段关联table2表的code字段返回table2表的id字段值,用oracle语言实现
您可以使用以下 Oracle SQL 语句实现:
```
SELECT
CASE
WHEN table.type = 'type1' THEN table1.id
WHEN table.type = 'type2' THEN table2.id
END AS id
FROM
table
LEFT JOIN table1 ON table.code = table1.code AND table.type = 'type1'
LEFT JOIN table2 ON table.code = table2.code AND table.type = 'type2'
WHERE
table.code = :code -- :code 是输入参数,代表要查询的 code 值
```
这个语句使用了 CASE WHEN THEN 语句来根据 table 表的 type 字段值判断要关联哪个表,并返回对应的 id 字段值。同时,使用了 LEFT JOIN 来实现关联查询,保证即使没有匹配的记录也能返回 table 表的记录。
请注意将代码中的 `:code` 替换为您需要查询的 code 值。
UPDATE table1 t1 JOIN table2 t2 ON t1.account = t2.account SET t1.password = t2.password; oracle数据库能执行按摩
对的,Oracle数据库可以执行这个语句。这个语句是将table1和table2进行连接,然后将table2中的密码字段更新到table1中的密码字段。这个操作称为JOIN操作,它可以帮助我们将两个表的数据进行关联,从而方便地进行数据处理。在Oracle数据库中,JOIN操作可以使用不同的方法来实现,比如INNER JOIN、LEFT JOIN、RIGHT JOIN等等。
阅读全文