前言
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 |
+---------+-----------+--------------+------------------------+-----------+

B表: news_data_user

查询语法案例
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 |
+---------+--------------+------------------------+------------------+-------------+

is_modified: 是否被用户修改过
content_user:用户修改过的内容
<h2><a id="_0"></a>前言</h2>
<p>MySql 导出A表数据,B表记录用户专属数据,查询A表所有数据,关联出B表用户修改过的数据。</p>
<p><strong>A表:news_data</strong></p>
<pre><div class="hljs"><code class="lang-shell"><span class="hljs-meta">mysql> </span><span class="language-bash">select news_id, news_type, title, content, is_delete from news_data;</span>
+---------+-----------+--------------+------------------------+-----------+
| 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 |
+---------+-----------+--------------+------------------------+-----------+
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/a2bb3d2c7b646fbf2aa8c28527c4f086.png" alt="image.png" /></p>
<p><strong>B表: news_data_user</strong></p>
<p><img src="https://static.couragesteak.com/article/d7818a0c7d67bb83d26f46802b0a8883.png" alt="image.png" /></p>
<h2><a id="_25"></a>查询语法案例</h2>
<pre><div class="hljs"><code class="lang-sql"><span class="hljs-keyword">SELECT</span>
A.news_id,
A.title,
A.content,
B.content <span class="hljs-keyword">AS</span> content_user,
<span class="hljs-keyword">CASE</span> <span class="hljs-keyword">WHEN</span> B.id <span class="hljs-keyword">IS</span> <span class="hljs-keyword">NOT</span> <span class="hljs-keyword">NULL</span> <span class="hljs-keyword">THEN</span> <span class="hljs-number">1</span> <span class="hljs-keyword">ELSE</span> <span class="hljs-number">0</span> <span class="hljs-keyword">END</span> <span class="hljs-keyword">AS</span> is_modified
<span class="hljs-keyword">FROM</span>
news_data <span class="hljs-keyword">AS</span> A
<span class="hljs-keyword">LEFT</span> <span class="hljs-keyword">JOIN</span>
news_data_user <span class="hljs-keyword">AS</span> B
<span class="hljs-keyword">ON</span> A.news_id <span class="hljs-operator">=</span> B.news_id <span class="hljs-keyword">AND</span> B.user_id <span class="hljs-operator">=</span> <span class="hljs-string">'cs'</span> <span class="hljs-keyword">AND</span> B.is_delete <span class="hljs-operator">=</span> <span class="hljs-number">0</span>
<span class="hljs-keyword">WHERE</span>
A.news_type <span class="hljs-operator">=</span> <span class="hljs-string">'program'</span> <span class="hljs-keyword">AND</span> A.is_delete <span class="hljs-operator">=</span> <span class="hljs-number">0</span>;
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">+---------+--------------+------------------------+------------------+-------------+
| 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 |
+---------+--------------+------------------------+------------------+-------------+
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/a2be0ec79e7cd08e57f8b768e7ddb306.png" alt="image.png" /></p>
<p>is_modified: 是否被用户修改过</p>
<p>content_user:用户修改过的内容</p>
留言