Php Union 2表sql,仅显示第一个查询

Php Union 2表sql,仅显示第一个查询,php,sql-server,join,union,Php,Sql Server,Join,Union,我尝试使用UNIÓN连接两个查询,但它只显示第一个查询的结果,下面的代码在SQLServer&phpMyAdmin中工作,但在PHP脚本中执行时不工作,我也想尝试使用join,但它对我不起作用。(我使用的函数接收两个参数:category、id user。第一个查询承载用户执行的“任务”,第二个查询返回“挂起的任务”。第一个查询的列数较少,因此用null填充) 结果如下: 解决了的 我认为错误在于PHP执行查询的方式,问题类似于: 只需将“*”字段替换为数字“1”、“2”等。将它们列出将确保

我尝试使用UNIÓN连接两个查询,但它只显示第一个查询的结果,下面的代码在SQLServer&phpMyAdmin中工作,但在PHP脚本中执行时不工作,我也想尝试使用join,但它对我不起作用。(我使用的函数接收两个参数:category、id user。第一个查询承载用户执行的“任务”,第二个查询返回“挂起的任务”。第一个查询的列数较少,因此用null填充)

结果如下:


解决了的
我认为错误在于PHP执行查询的方式,问题类似于:

只需将“*”字段替换为数字“1”、“2”等。将它们列出将确保您的字段在查询之间对齐:

 SELECT ca.[one]
       ,ca.[two]
       ,ca.idMateria
       ,ca.[three]
       ,ca.[Materia]
       ,ca.[five]
       ,ca.[six]
       ,ca.[seven]
       ,ca.[eight]
       ,ca.[nine]
       ,ca.[ten]
       ,ca.[eleven]
       ,ca.[twelve]
       ,ca.[thirteen]
       ,ca.[fourteen]
       ,ca.[fifteen]
       ,ca.[sixteen]
       ,ca.[seventeen]
       ,ca.[eighteen]
       ,ca.[nineteen]
       ,ca.[twenty]
       ,pem.orden
 FROM   Escolares.ftCardex('7', '3395') AS ca
        JOIN Escolares.plan_estudios_materia AS pem ON pem.idmateria = ca.idMateria
                                                       AND pem.idplan_estudios = ca.idPlanDeEstudios
 UNION ALL
 SELECT [one] = NULL
       ,NULL
       ,idMateria
       ,NULL
       ,Materia
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
 FROM   Escolares.ftMateriasPorCursar('7', '3395')
 ORDER BY orden;

您应该开始使用ANSI-92样式联接。他们现在已经有超过25年的历史了。对于手头的问题,我们需要处理一些细节。这是一个很好的起点。我要做的第一件事是去掉*并使用显式列名。然后去掉每个SELECT语句周围的括号。不需要它们。正如肖恩所说,请改变加入方式。使用链接/图像仅为方便补充文本和/或文本中无法给出的内容。不要给出没有图例/键的图表。使用编辑函数内联,而不是链接,如果你有代表--使你的文章独立。@Lamu请不要不适当地内联链接。请参阅我在上面的评论,尽可能重复使用文本。此图片或其链接不应该在本文中没有文本,因为它的所有内容都可以通过文本表达。用文本替换图像的链接,如果仍然有用的话,用文本加上图像,或者更好的是,用注释告诉海报这样做。请阅读并采取行动。(这包括一个明确的规范&输出和期望的输出。“它对我不起作用”告诉我们什么。)此外:证明“最小”的一部分是找到一个最大部分功能的工作示例。显示一个程序,该程序在通过(子)表达式时计算出您期望的结果,包括传递给每个函数/运算符的参数满足其要求,方法是说出它是什么&显示它实际上是通过增量输出来实现的。添加给出问题的代码。询问示例之间的(小)差异。(基本调试。)我认为错误在于PHP执行查询的方式,问题类似于:
 SELECT ca.[one]
       ,ca.[two]
       ,ca.idMateria
       ,ca.[three]
       ,ca.[Materia]
       ,ca.[five]
       ,ca.[six]
       ,ca.[seven]
       ,ca.[eight]
       ,ca.[nine]
       ,ca.[ten]
       ,ca.[eleven]
       ,ca.[twelve]
       ,ca.[thirteen]
       ,ca.[fourteen]
       ,ca.[fifteen]
       ,ca.[sixteen]
       ,ca.[seventeen]
       ,ca.[eighteen]
       ,ca.[nineteen]
       ,ca.[twenty]
       ,pem.orden
 FROM   Escolares.ftCardex('7', '3395') AS ca
        JOIN Escolares.plan_estudios_materia AS pem ON pem.idmateria = ca.idMateria
                                                       AND pem.idplan_estudios = ca.idPlanDeEstudios
 UNION ALL
 SELECT [one] = NULL
       ,NULL
       ,idMateria
       ,NULL
       ,Materia
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
       ,NULL
 FROM   Escolares.ftMateriasPorCursar('7', '3395')
 ORDER BY orden;