我正在尝试使用左联接访问“CATEGORY”表。我需要在该表中检索字段“name”。
这是我的代码:
void Product::read(MYSQL *connection)
{
MYSQL_RES *result;
MYSQL_ROW row;
if(mysql_query(connection, "SELECT * FROM product LEFT JOIN category ON product.category=category.category_id"))
std::cout<<"Query failed!!"<<mysql_error(connection)<<std::endl;
else
result=mysql_store_result(connection);
if(result->row_count>0)
{
while(row=mysql_fetch_row(result))
{
std::cout<<"Name: "<<row[1]<<" Brand: "<<row[3]<<" Price: "<<row[4]<<" Category: "<<row[5]<<" Amount: "<<row[6]<<std::endl;
}
}
mysql_free_result(result);
}
以下是查询的结果:
Name: Oneplus Nord 2 5G Brand: Oneplus Price: 299.99 Category: 1 Amount: 3
Name: Acer Swift 3 Brand: Acer Price: 899.99 Category: 2 Amount: 5
Name: Bose SoundLink Revolve Brand: Bose Price: 100.23 Category: 1 Amount: 3
怎样才能显示类别的名称?
1条答案
按热度按时间sgtfey8w1#
您可以更具体地说明要选择的列及其顺序。您可以指定
table_name.column_name
而不是*
(如果没有重叠,则只指定column_name
;如果要使用别名,则只指定alias_name.column_name
),因此可以尝试执行以下操作:这样,以下代码将更具可预测性,因为索引将基于您在SELECT中编写的内容。