SQL:如何使用内部联接将多个查询串在一起?

时间:2017-04-23 19:54:54

标签: php mysql search phpmyadmin

我正在设计一个搜索引擎来筛选数据库中的数据。我的数据库中有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

这样,我可以输入单个查询而不是多个查询。

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中的字符串操作构建。
然后你发送"模板"执行。
如果您提供更多详细信息,我可以构建更精确的示例 但这是一个想法。