比较fu_mp和c_meter表,2张表都有MADE_NO字段,找出fu_mp 表里MADE_NO有而c_meter没有的记录。试着写一下这个SQL语句
时间: 2023-08-09 21:09:52 浏览: 37
可以使用左连接(LEFT JOIN)和 IS NULL 的方式来找出fu_mp表里MADE_NO有而c_meter没有的记录,具体的SQL语句如下:
```
SELECT fu_mp.*
FROM fu_mp LEFT JOIN c_meter
ON fu_mp.MADE_NO = c_meter.MADE_NO
WHERE c_meter.MADE_NO IS NULL;
```
解释一下,左连接是以fu_mp表为基础,连接c_meter表,连接条件是MADE_NO相等。然后WHERE子句中使用了 IS NULL 来筛选出c_meter表中没有匹配记录的行,即为fu_mp表中MADE_NO有而c_meter没有的记录。
相关问题
现在有2张表,err_no_trans,err_config_compare, 我想根据compare表里的trans_pre去更新到err_no_trans表中的trans_after字段中,其中可以通过err_original和NO_TRANS_ERR去关联更新,oracle sql我大概该怎么写哇
你可以使用UPDATE语句来将compare表中的trans_pre值更新到err_no_trans表的trans_after字段中,根据err_original和NO_TRANS_ERR进行关联更新。下面是一个示例SQL语句:
```sql
UPDATE err_no_trans
SET trans_after = (
SELECT trans_pre
FROM err_config_compare
WHERE err_config_compare.err_original = err_no_trans.NO_TRANS_ERR
)
WHERE EXISTS (
SELECT 1
FROM err_config_compare
WHERE err_config_compare.err_original = err_no_trans.NO_TRANS_ERR
);
```
这个语句使用了UPDATE语句和一个子查询,子查询从err_config_compare表中选择匹配条件的trans_pre值。然后,将这个值更新到err_no_trans表的trans_after字段中。通过在UPDATE语句的WHERE子句中使用EXISTS子查询,确保只更新那些在err_config_compare表中有匹配记录的行。请根据你的实际情况进行调整表名、字段名和关联条件。
informix 11.5 的 last_access_time 字段在哪张表
我之前回答的是 Informix 11.5 系统表中没有 last_access_time 字段。但是如果你是想了解 Informix 数据库中哪些表有记录最后访问时间,可以查看系统表 sysmaster:sysptprof 表。在这个系统表中,有一个 last_page_access 列可以记录每个表的最后访问时间。注意,这个表需要在数据库启用 SQL 性能分析器之后才会有记录。另外需要注意的是,这个表的记录会随着时间的推移而变得越来越庞大,因此需要定期清理和维护。