php - 我可以将这两个选择查询合并为一个吗?

标签 php mysql select merge

我的目标是在右侧部分显示/显示调查问题(来 self 数据库的一个表),并在左侧部分显示客户的答案(来 self 数据库中的另一个表)。所以我的问题是:如何合并这两个选择查询?我做了一些研究,但是对于 php,理解起来有点棘手,而且我还是 php 的新手。 欢迎任何帮助或建议。

最好的问候 A.V.

<?php
    include("bdconnect_Foredeck.php");
    $link=mysqli_connect($host,$login,$pass,$dbname);

    if(isset($_POST["bouton55"])){
        $link = mysqli_connect($host,$login,$pass,$dbname);  

        $id = $_REQUEST["Zoubi"];
        $ClientRef =$_REQUEST["KGB"];

        $rechercheq = "SELECT Qref,Ref,Question FROM questionnaire WHERE Qref ='$id' ";
        $recherche= "SELECT choix,commentaire FROM reponse WHERE RefQ ='$id' and ref_Client ='$ClientRef'";

        mysqli_query($link,$recherche);
        mysqli_query($link,$rechercheq);

        $result1=mysqli_query($link,$rechercheq); 
        $result= mysqli_query($link,$recherche);

        while($row = mysqli_fetch_assoc($result,$result1)){
            $Ref =$row["Ref"];
            $Question       =$row["Question"];
            $Choix =$row["choix"];
            $Commentara =$row["commentaire"];

            echo" <tr bgcolor=\"white\">
            <td>  $id  </td>
            <td> $Ref </td>
            <td>$Question </td>
            <td>$Choix       </td>
            <td>$Commentara         </td>
            </tr>";
        }
    }
?>

最佳答案

你可以使用 JOIN

    SELECT a.Qref, a.Ref,a.Question , b.choix, b.commentaire
    FROM questionnaire as a 
    LEFT JOIN reponse as b ON  a.RefQ = b.RefQ
    WHERE a.Qref ='$id' 
    AND b.ref_Client ='$ClientRef'

如果你有重复的行..那么你可以使用不同的

    SELECT DISTINCT a.Qref, a.Ref,a.Question , b.choix, b.commentaire
    FROM questionnaire as a 
    LEFT JOIN reponse as b ON  a.RefQ = b.RefQ
    WHERE a.Qref ='$id' 
    AND b.ref_Client ='$ClientRef'

否则你的逻辑不允许单个查询

关于php - 我可以将这两个选择查询合并为一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339031/

相关文章:

php - 将一个表中的所有行插入到另一个表 + 最后的时间戳

mysql - 使用按另一列排序的列值计算第一次出现的次数

Javascript - 选择元素的子元素的第一个元素

mysql - 无法在 FROM 子句中指定更新目标表 - Mysql 5.7.10 -衍生合并不起作用

php foreach循环只返回数组中第一次迭代的值

mysql - 使用 JOIN 从一个选择语句中的同一列(可能不同的行)中选择

php - 使用 mysqli 而不是 mysql 时运行一段时间。

PHP exit() 与 if - else 语句

php - 从另一个表中选择服务器名称

c# - MySqlDataReader: DataTable.Fill(reader) 抛出 ConstraintException