有2个用户输入,violation_type
和vehicle
。我想将这些变量传递给后端数据库,以便在Matlab中生成报告。我试过一个变量,它工作正常,但我不知道如何传递多个变量来根据用户搜索过滤数据库记录。
vehicle ='car';
违规_type ='U turn';
'SELECT lic.licence_plate_num,lic.owner_name,lic.owner_address,lic.owner_tel_no,lic.owner_email,vio.violation_date,vio.violation_time,vio.vehicle_type,vio.violation_type FROM licence_plate_details lic RIGHT JOIN violated_vehicles vio ON lic。 licence_plate_num = vio.licence_plate_num其中vio.vehicle_type =''',vehicle,''''
答案 0 :(得分:1)
在SQL查询中使用AND关键字以获取多个条件。您可以使用SPRINTF MATLAB函数插入变量参数。我还将您的查询分成多个子字符串以提高可读性。
sql = sprintf( [ ...
'SELECT lic.licence_plate_num, lic.owner_name, lic.owner_address, '...
'lic.owner_tel_no, lic.owner_email, vio.violation_date, '...
'vio.violation_time, vio.vehicle_type, vio.violation_type '...
'FROM licence_plate_details lic RIGHT JOIN violated_vehicles vio '...
'ON lic.licence_plate_num = vio.licence_plate_num '...
'WHERE vio.vehicle_type = "%s" AND vio.violation_type = "%s"' ], ...
vehicle, violation_type );