从INNER join表中检索列数据

本文关键字:检索 数据 INNER join | 更新日期: 2023-09-27 17:49:20

我试图选择一个表上的所有(*)数据列,并将INNER加入另一个表以获得菜单项名称。请查看我的查询

string query = "SELECT ol.*, m.menu_name " +
                "FROM orderlist ol " +
                "INNER JOIN menudb m " +
                "ON m.menu_ID = ol.menu_ID " +
                "WHERE ol.order_ID = @orderID";

当我使用dr["menu_name"].ToString()

检索它时,我似乎无法获得m.menu_name

知道为什么吗?

orderlist Table Columns

orderlist_ID order_ID menu_ID order_quantity

菜单栏

menu_ID menu_name menu_price menu_description menu_category menu_status

从INNER join表中检索列数据

你的查询有很多问题。

第一个,你有一个语法错误,由于关键字之间缺乏空格。

"ON m.menu_ID = ol.menu_ID" +     // << HERE
"WHERE ol.order_ID = '@orderID'";

你应该在ol.menu_ID

后面添加一个额外的空格
"ON m.menu_ID = ol.menu_ID " +
"WHERE ol.order_ID = '@orderID'";

第二个,如果您对查询进行了参数化,则不应该将参数用单引号括起来。这导致它不再是一个参数,而是一个字符串。

"WHERE ol.order_ID = @orderID"; // remove single quote

您在ol.menu_ID后面漏了5个空格。

"ON m.menu_ID = ol.menu_ID "+