我有三张桌子。
我将公司和组件表与此代码结合起来
$questions_query = "SELECT company_mast.id, component_mast.component_id
FROM company_mast
LEFT JOIN component_mast
ON company_mast.id = component_mast.company_id
WHERE component_mast.component_name = '".$component_name."'
AND company_mast.company_name = '".$company_name."'";
结果符合预期,如果我将 company_name 作为 Bells 并将 component_name 作为 Assets,我得到 Bells 的 id 为 3,Assets 的 id 为 9。现在,如果您查看 customfields 表,我需要使用特定的 company_id 和 component_id 提取所有问题。
示例:如果用户输入 Bells and Assets,他们需要接收 company_id 为 3 且 component_id 为 9 的所有问题。
所以这是我的查询
SELECT *
FROM customfield_mast
LEFT JOIN ( SELECT company_mast.id, component_mast.component_id
FROM company_mast
LEFT JOIN component_mast
ON company_mast.id = component_mast.company_id
WHERE component_mast.component_name = 'Assets'
AND company_mast.company_name = 'Bells')
att
ON customfield_mast.company_id = customfield_mast.component_id
然而,这会返回我的数据库中的所有问题,这不是我想要的。我很肯定我的最后一个“ON”声明是问题所在,但是我不知道正确的声明是什么。我还没有开始使用SQL
注入保护,这是让我的查询工作的基层。谢谢您的帮助