Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 在sql中使用子查询的正确方法_Php_Sql - Fatal编程技术网

Php 在sql中使用子查询的正确方法

Php 在sql中使用子查询的正确方法,php,sql,Php,Sql,我在使用多个子查询时遇到一些问题 有这样的东西吗 我当前的查询: 选择A.类别1为cat1,B.类别2为cat2,C.类别3为cat3 来自表1 从表1中选择名称,其中user_id='32'A 从表1中选择年龄,其中年龄=12'B 从表1中选择性别,其中user_id='32'C 车票在哪里?'u id='12' 因此,如果我使用PHP获取结果,我可以像 foreach ($result as $value) { echo $value['cat1'] . ' ' . $value['c

我在使用多个子查询时遇到一些问题

有这样的东西吗

我当前的查询:

选择A.类别1为cat1,B.类别2为cat2,C.类别3为cat3 来自表1 从表1中选择名称,其中user_id='32'A 从表1中选择年龄,其中年龄=12'B 从表1中选择性别,其中user_id='32'C 车票在哪里?'u id='12' 因此,如果我使用PHP获取结果,我可以像

foreach ($result as $value) {
   echo $value['cat1'] . ' ' . $value['cat2'] . ' ' . $value['cat3'] . "<br>";
}
问得对吗?如果没有,正确的方法是什么


任何帮助都将不胜感激

需要对

(SELECT name FROM table1 WHERE user_id ='32') A
(SELECT gender FROM table1 WHERE user_id ='32') C

由于A和C的where子句相同,请确保将“C.category_3; 3”作为cat3
回到“A.category\u three as cat3”

SQL和问题在以下方面的格式不正确:

1 SQL中存在语法错误,例如子查询之间缺少逗号。您应该首先修复这些问题,例如在SQLFiddle上,除非您完全被困在这样做中。因为查询非常简单,所以这应该不是问题

2您尚未提供任何加入信息whatsover。如果没有,您将得到这些查询结果的叉积。如果它们都只返回一行,您就可以了,因为您将得到一行输出。但是,由于您在for循环中暗示希望返回多行,所以情况可能并非如此。如果你不熟悉加入的概念,你可能应该在继续之前了解一下


3正如其他人指出的,您没有提供任何输入数据和输出结果的示例。这始终是一个好主意,而且由于缺乏清晰的英语描述(如此处所示),这是绝对必要的。

运行查询时是否出现错误?您希望查询执行什么操作?提供示例数据和所需输出。从您发布的内容来看,您的意图是无法理解的。您使用的是什么版本的SQL?表中的内容您选择的获取数据的方法看起来是主要问题,但如果没有更多信息,就很难提供具体的解决方案类别字段无法从子查询中选择的字段中获得。我只是建议,如果他提供表中的所有列就好了我开始编写类似的答案,但我放弃了,因为我不得不做出大量的假设-我认为这个问题是错误的,这将是一个连接或where语句作为最佳解决方案的问题。。。现在很难说!通过这样做,我还可以从表1中选择名称、性别,其中表1上的user\u id='32'A.user\u id=A.user\u id。但我不知道取回的结果是否相同,问题不清楚它说了什么
(SELECT name,gender FROM table1 WHERE user_id='32')A