gpt4 book ai didi

mysql - 从两个表中选择并使用数据创建对象

转载 作者:行者123 更新时间:2023-11-29 11:01:27 24 4
gpt4 key购买 nike

我正在尝试从两个 MySQL 表中获取数据并将每个表插入数组中。我必须使用同一列 - item_id 表项目和用户。现在我向他们请求数据

var query = "SELECT * FROM items, users WHERE items.item_id=?";
查询 = connection.format(query,req.params.item_id);

在此之后,我得到了一堵数据墙。像这样:

{
{ user_id: 13213,
user_name: 'John',
item_id: 1337,
item_name: Leet stuff,
item_price: 13,37
},
{ user_id: 12345,
user_name: 'Mike',
item_id: 1337,
item_name: Leet stuff,
item_price: 13,37
}

但我真正需要的是:

{
users: [
{ user_id: 13213,
user_name: 'John'
},
{ user_id: 12345,
user_name: 'Mike'
}
],
item_id: 1337,
item_name: Leet stuff,
item_price: 13,37
}

最佳答案

您无法在单个查询中完成此操作。但是,您可以使用两个不同的查询并组合输出,例如:

SELECT u.user_id, u.user_name 
FROM users u JOIN ITEMS i ON j.user_id = i.user_id
WHERE i.item_id = ?;

这将为您提供用户列表。然后,您可以使用以下查询来获取项目详细信息:

SELECT item_id, item_name, item_price
FROM items
WHERE item_id = ?

然后您可以在应用程序中构建所需的结构。

关于mysql - 从两个表中选择并使用数据创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42161333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com