Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何组合多个mySQL查询?_Php_Mysql_Select - Fatal编程技术网

Php 如何组合多个mySQL查询?

Php 如何组合多个mySQL查询?,php,mysql,select,Php,Mysql,Select,我是mySQL的新手。我有多个sql查询要组合,我正在使用php和mySQL。如何组合查询?我需要在表的一行中显示查询的所有结果 在第三个查询中,不清楚哪些列在哪个表中。因为您说所有结果都需要显示在一行中,所以我假设s.staffNo=g.staffNo仅对一行对为真,并且c.catID=p.catID仅对一行对为真。然后你可以直接使用JOIN。不过,我建议添加简短的表名。UNION将不起作用,因为它用于合并等长和等列类型的行集 编辑:添加了c.和p.请不要使用mysql\u query,已

我是mySQL的新手。我有多个sql查询要组合,我正在使用php和mySQL。如何组合查询?我需要在表的一行中显示查询的所有结果



在第三个查询中,不清楚哪些列在哪个表中。因为您说所有结果都需要显示在一行中,所以我假设s.staffNo=g.staffNo仅对一行对为真,并且c.catID=p.catID仅对一行对为真。然后你可以直接使用JOIN。不过,我建议添加简短的表名。UNION将不起作用,因为它用于合并等长和等列类型的行集

编辑:添加了
c.
p.
请不要使用
mysql\u query
,已弃用。改用
mysqli\u查询
。我不确定这个数据库是否以最好的方式设计。你不能把所有的东西都合并到tblstaff中吗

SELECT s.staffName, s.staffNo, g.grade, g.gradePosition, g.gradeDepartment, 
c.catTechnical, c.catOtherTechnical, c.catTechnicalDescription, c.catOtherTechnicalDescription, c.catWeightage, p.perReqScore, p.perActScore, p.perAction, p.perOtherAction, p.perTrainingIlsas, p.perTrainingPublic
FROM tblstaff s
JOIN tblgrade g ON s.staffNo = g.staffNo
JOIN tblcategory c
JOIN tblperformance p on c.catID = p.catID

您已经完成了所有操作,除了在s.staffNo=p.staffNo上加入tblperformance p

SELECT s.staffName, s.staffNo, g.grade, g.gradePosition, g.gradeDepartment 
c.catTechnical, c.catOtherTechnical, c.catTechnicalDescription,
c.catOtherTechnicalDescription, c.catWeightage, p.perReqScore

FROM tblstaff s
join tblgrade g on s.staffNo=g.staffNo
join tblperformance p on s.staffNo=p.staffNo
join tblcategory c on p on c.catID=p.catID

Yana Rina-您在这里给出的代码只是将一个字符串分配给一个PHP(Ithink)变量。还显示如何执行。如果您希望合并多个
SELECT
语句的结果,可以在此处使用
UNION
。请发布您的表结构和要检索的内容示例,从您描述的内容中,您可能需要UNION或JOIN来获取所需内容。您需要加入多少表?您需要所有表中的所有行还是只需要具有相同id的行?我需要连接4个表,它们是表tblstaff、tblgrade、tblcategory和TBLPPerformance。我的第三个查询是连接两个表,即表类别和表性能。我需要显示具有相同id@User\TI的行,很抱歉在问题中没有提及。我的第三个查询是从两个表联接,这两个表是staffNo的tblcategory和tblperformance。如果您想查看我的代码,我已经更新了我之前的问题。Tq
SELECT s.staffName, s.staffNo, g.grade, g.gradePosition, g.gradeDepartment 
c.catTechnical, c.catOtherTechnical, c.catTechnicalDescription,
c.catOtherTechnicalDescription, c.catWeightage, p.perReqScore

FROM tblstaff s
join tblgrade g on s.staffNo=g.staffNo
join tblperformance p on s.staffNo=p.staffNo
join tblcategory c on p on c.catID=p.catID