ASP中如何JOIN两表选取指定列并实现数据绑定
ASP跨两表查询功能实现解答
是否需要使用JOIN语句
必须使用JOIN语句。
你的需求是从两张存在关联关系的表中分别取指定字段,需要通过订单表存储的商品编码匹配库存表对应的商品信息,且只返回两表能匹配成功的记录,用INNER JOIN(内连接)就可以完全满足需求——内连接的特性就是仅返回两表关联条件匹配上的行,和你预期得到4条有效匹配订单项的要求完全适配。
对应SQL写法
注意Order是SQL语法的保留关键字,书写时建议加方括号避免语法报错,具体语句如下:
SELECT o.InvCode, o.QtyOrdered, o.Total, i.Description, i.UnitPrice FROM [Order] o INNER JOIN Inventory i ON o.InvCode = i.Code WHERE o.OrderItems = 1
语句说明:
- 给订单表、库存表分别设置别名
o、i简化书写 - 关联条件设为订单表的关联商品编码
InvCode等于库存表的商品编码Code,完成两表数据匹配 - WHERE条件直接筛选订单项编号为1的记录,最终返回的字段完全对应你要求的5个列
查询结果是否支持数据绑定(Data Bind)
完全支持。
不管是传统ASP通过ADO查询返回的Recordset对象,还是ASP.NET场景下查询得到的DataTable、DbDataReader、自定义实体集合,这类结构化二维查询结果都可以直接作为数据源,绑定到Repeater、GridView、DataList等数据展示控件。绑定过程不需要做特殊格式转换,只需要保证控件绑定的字段名和SQL查询返回的字段名完全一致即可。
内容的提问来源于stack exchange,提问作者kim
相关产品推荐
相关产品推荐

