我正在嘗試使用 LEFT JOIN 訪問“類別”表。我需要在此表中檢索欄位“名稱”。
這是我的代碼:
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
如何顯示類別的名稱?
uj5u.com熱心網友回復:
您可以更具體地了解您選擇的列及其順序。而不是*你可以指定table_name.column_name(或者只是column_name如果你沒有重疊,或者alias_name.column_name如果你想使用別名),所以你可以嘗試類似的東西:
SELECT product.name, product.brand, product.price, category.name, product.amount FROM product LEFT JOIN category ON product.category=category.category_id
我假設列是如何命名的。
這樣,以下代碼將更可預測,因為索引將基于您在 select 中撰寫的內容。
std::cout<<"Name: "<<row[1]<<" Brand: "<<row[3]<<" Price: "<<row[4]<<" Category: "<<row[5]<<" Amount: "<<row[6]<<std::endl;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/472978.html
上一篇:整數的不同值
