mysql - 是否可以只将一列粘贴到mysql中的另一个表?
问题描述
我有 2 张桌子。
wordlist table
----------------------
wordID char memorize
---------------------------
1 我 0
2 你 0
3 哀 0
4 阿 0
5 去 0
----------------------------
user_word table
-----------------------------
userID wordID memorize
edward 2 1
anne 1 0
.
.
------------------------------
而我想要做的是调用粘贴的 wordlist 表和 user_word 表的新表。所以如果用户 edward 登录,调用 DB,然后从 user_word 表中找到 edward 的所有数据,并粘贴到 wordlist 表中并发送到前面。所以粘贴的表格应该是这样的。找到相同的wordID,只粘贴记忆
wordID char memorize
---------------------------
1 我 0
2 你 1
3 哀 0
4 阿 0
5 去 0
---------------------------------
我尝试过使用加入和联合,但它似乎不是正确的方法。这是不可能的吗?
解决方案
我认为你想要LEFT JOIN
(在加入条件中包含用户)然后COALESCE()
得到memorize
例如
SELECT wl.wordID,
wl.char,
COALESCE(uw.memorize, wl.memorize) AS memorize
FROM wordlist AS wl
LEFT JOIN user_word AS uw
ON uw.wordID = wl.wordID
AND uw.userID = 'Edward' -- Parameterise and send relevant
-- username from your application
推荐阅读
- python - 具有两个不同 proto 文件的重定向 grpc 服务器
- c++ - 我们如何访问像 WM_CTLCOLOR 这样的属性表的窗口消息?
- powerbi - 在 PowerBI 中创建摊销表 - 循环参考
- javascript - 在 Typescript 应用程序中找不到 JSON
- laravel - Laravel-Controller 不包含所有上传的图片
- c# - .Net Core 5 - 用户管理器 IsLockedOutAsync 方法总是返回 false
- postgresql - 如何将数组输入传递给 Postgres 函数内的动态 SELECT 查询
- laravel - 如何显示网格而不是列表 - Laravel DataTable
- postgresql - 如何在 Postgres 中执行相同的语法 oracle 查询?
- project-reactor - 反应式流与反应器模式?