首页 > 解决方案 > 坚持使用 MYSQL 从一张表获取价值到另一张表

问题描述

这是我第一次寻求帮助。我不确定我是否做得正确,但这是我的问题:

表结构:

Table 'users'             Table 'made'
+--+---------+---------+   +--+---------+---------------+
|id|user_id  |friends  |   |id|p_id     |result         |
+--+---------+---------+   +--+---------+---------------+
|1 |x        |["y","z"]|   |1 | y       |some_text_here |
+--+---------+---------+   +--+---------+---------------+

到目前为止我得到了什么:

SELECT friends FROM users WHERE user_id = 'x'

并在第二个查询中循环 users.friends 的信息:

SELECT * FROM made WHERE p_id IN ('y', 'z')

我基本上需要的是 users.friends 的信息(来自特定的 user.user_id),以查找“made”中是否存在包含 users.friends 的行,以便我可以输出 made.result 数据。

我正在使用 nodeJS 来执行查询,例如

sql.query("SELECT ....... WHERE user_id = ?", user_id, (err, res) => {......

希望我能解释得足够好,这对我来说非常复杂。

感谢您在未来的帮助:)

标签: mysqlsqlnode.jsjsonjoin

解决方案


好的,根据我的推断,您想要合并两个表中的数据,对吗?您可以使用内部属性。

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

你可以在这里看到更多:https ://www.w3schools.com/sql/sql_join_inner.asp


推荐阅读