我正在设计一个搜索引擎来筛选数据库中的数据。我的数据库中有2个表:
Members:= `MemberID|Firstname|Secondname|Member_Type|Skills|Marital Status`
Schedule:= `ScheduleID|MemberID (foreign key)|six_am|seven_am|...|nine_pm`
(其中six_am | seven_am | ... | nine_pm的值是布尔值并表示可用性)
我的问题是,是否有办法创建类似于:
的单个SQL查询 SELECT * FROM members1 (WHERE $x LIKE $firstname OR $x LIKE SecondName...) INNER JOIN schedules ON (members1.members_id = schedules.member_id)
WHERE eleven_am=1 OR twelve_pm=1
这样,我可以输入单个查询而不是多个查询。
答案 0 :(得分:0)
您可以使用预准备语句:
SET @query = 'build your own query in any way';
PREPARE stmt FROM @query;
SET @id = 4; -- here you can add variable for safe inserting to the query. if you want to
EXECUTE prepared_query USING @id;
DEALLOCATE PREPARE stmt;
@query
可以通过某种服务器端语言(例如PHP)或纯SQL中的字符串操作构建。
然后你发送"模板"执行。
如果您提供更多详细信息,我可以构建更精确的示例
但这是一个想法。