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

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

最佳答案

您可以使用准备好的语句:

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中的字符串操作来构建。
之后,您将“模板”发送给执行。
如果您将提供更多详细信息,我可以构建更准确的示例。
但这是一个主意。

关于php - SQL:如何使用内部联接将多个查询串在一起?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43575811/

10-16 15:18