有勇气的牛排博客

MySql 导出A表数据,B表记录用户专属数据,查询A与B所有数据

有勇气的牛排 69 数据库 2025-04-11 22:22:35

前言

MySql 导出A表数据,B表记录用户专属数据,查询A表所有数据,关联出B表用户修改过的数据。

A表:news_data

mysql> select news_id, news_type, title, content, is_delete from news_data; +---------+-----------+--------------+------------------------+-----------+ | news_id | news_type | title | content | is_delete | +---------+-----------+--------------+------------------------+-----------+ | 1 | program | 有勇气的牛排 | 有勇气的牛排数据库测试 | 0 | | 2 | program | 导演 | AI大模型使用教程 | 0 | | 3 | program | Python教程 | Python开发案例 | 0 | | 4 | program | java | java架构设计 | 0 | | 5 | poetry | 古诗美文 | 今天是个好日子 | 0 | +---------+-----------+--------------+------------------------+-----------+

image.png

B表: news_data_user

image.png

查询语法案例

SELECT A.news_id, A.title, A.content, B.content AS content_user, CASE WHEN B.id IS NOT NULL THEN 1 ELSE 0 END AS is_modified FROM news_data AS A LEFT JOIN news_data_user AS B ON A.news_id = B.news_id AND B.user_id = 'cs' AND B.is_delete = 0 WHERE A.news_type = 'program' AND A.is_delete = 0;
+---------+--------------+------------------------+------------------+-------------+ | news_id | title | content | content_user | is_modified | +---------+--------------+------------------------+------------------+-------------+ | 1 | 有勇气的牛排 | 有勇气的牛排数据库测试 | AI大模型使用教程 | 1 | | 2 | 导演 | AI大模型使用教程 | Python开发案例 | 1 | | 3 | Python教程 | Python开发案例 | NULL | 0 | | 4 | java | java架构设计 | NULL | 0 | +---------+--------------+------------------------+------------------+-------------+

image.png

is_modified: 是否被用户修改过

content_user:用户修改过的内容


留言

专栏
文章
加入群聊