2表 多条件模糊 求解
A表:ID(主键); 供应商名称; 生产计划号; 发货日期; 制单人; 制单日期; 备注。
B表:明细ID(主键);ID; 产品名称;型号;数量;审核;审核说明。
2表有ID,主外键。
现在需要
//获取客户名称和订单号和时间区间
string 生产计划号 = select_1.Text.Trim();
//声明查询语句变量
string 生产计划号SQL = "";
string 审核SQL = "";
string extractSql = "";
//声明查询语句变量
string 生产计划号SQL = "";
string 审核SQL = "";
string extractSql = "";
//如果生产计划号不为空,生成生产计划号SQL 语句
if (生产计划号 != "")
生产计划号SQL = " AND 生产计划号 LIKE '%" + 生产计划号 + "%'";
//如果“审核”不为空,生成审核SQL语句
if (AuditEnd_select.SelectedValue != "NULL")
{
审核SQL = " AND 审核 = '" + AuditEnd_select.SelectedValue.ToString() + "'";
}
//综合查询语句 多表查询
extractSql = ??????如何查询得到以下9个字段(3个属A表,7个属于B表)
(需要得到:生产计划号;ID;明细ID; 产品名称;型号;数量;审核;审核说明,备注)
------解决方案--------------------
数据库提供了存储过程,那么就尽量使用存储过程。
在程序中拼接sql语句,然后执行是非常低效率的设计。
一般来说都是在程序中执行存储过程,条件变量作为参数给入。
在数据库里面就能更高效率的写程序。