gpt4 book ai didi

c++ - 查询 - 从 2 个表中选择具有相同名称的列并进行比较

转载 作者:行者123 更新时间:2023-11-28 01:21:22 31 4
gpt4 key购买 nike

我很难弄清楚如何正确地进行此查询。所以基本上,我有以下表格:

Table 1,
id | username,

Table 2,
id | someinfo | moreinfo

我想做的是:打印 id、用户名、someinfo、moreinfo,其中 table1 的 id 和 table2 的 id 是相等的。

请注意,我正在尝试使用 mysql 库在 C++ 中执行此操作。

C++

std::string query = "SELECT id,username FROM table1 
UNION ALL
SELECT someinfo,moreinfo FROM table2
WHERE table1.id=table2.id";


MYSQL_RES* res_set;
MYSQL_ROW row;
mysql_query(connect, query.c_str());
res_set = mysql_store_result(connect);
int numrows = mysql_num_rows(res_set);
int num_col = mysql_num_fields(res_set);

int j = 0;
while (((row = mysql_fetch_row(res_set)) != NULL))
{
for (int i = 0; i < num_col; i++)
{
printf("%s ", row[i] != NULL ? row[i] : "");

}
j++;
std::cout << '\n';
}

mysql_close(connect);

我希望输出打印行,但我却抛出了异常,这可能只是一个错误的查询,因为这个确切的代码适用于更简单的查询(例如 SELECT id, username FROM table1)

最佳答案

确实,您的问题似乎与您的查询更相关。

std::string query = "SELECT id,username, someinfo, moreinfo 
FROM table1
JOIN table2 ON table1.id=table2.id"

您应该阅读一些教程 on SQL

关于c++ - 查询 - 从 2 个表中选择具有相同名称的列并进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56111715/

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