You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL查询需求:获取T2全量记录及T1中is_valid为false的关联记录

MySQL 查询:合并T2全量记录与T1无效设备记录

需求说明

现有两张列结构不同的表T1和T2,二者共享transaction_id、device_id字段:

  • T1包含is_valid字段(1表示有效,0表示无效),存储有效与无效设备记录
  • T2仅存储有效设备记录,无is_valid字段

需要编写查询语句,获取T2的全部记录,以及T1中is_valid=0的记录,最终结果需包含transaction_id、device_id、is_valid、description、status、store_id字段。

实现SQL语句

-- 合并T2全量有效记录与T1无效记录,支持按transaction_id筛选
SELECT
    transaction_id,
    device_id,
    1 AS is_valid,
    'valid device' AS description,
    'Success' AS status,
    store_id
FROM T2
WHERE transaction_id = '123' -- 可替换为目标transaction_id或去掉该条件查询全部
UNION ALL
SELECT
    transaction_id,
    device_id,
    is_valid,
    'Device doesn''t exist' AS description,
    'Failed' AS status,
    store_id -- 若T1无store_id字段,可替换为NULL或对应默认值
FROM T1
WHERE is_valid = 0
  AND transaction_id = '123'; -- 与上方筛选条件保持一致

语句说明

  1. 使用UNION ALL而非UNION,避免自动去重(保留结果集中的重复记录,匹配示例输出)
  2. 对T2补全缺失字段:硬编码is_valid=1、description='valid device'、status='Success'
  3. 对T1筛选is_valid=0的记录,对应设置description和status字段
  4. 可根据需求调整WHERE子句中的transaction_id值,或移除该条件查询所有符合要求的记录

内容的提问来源于stack exchange,提问作者Anil Nivargi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 13:47:16