php - 选择时获取重复记录

标签 php mysql fpdf

enter image description here

我有 4 张 table :

clients, pricelist, result and result_details

我想生成一个表单,其中显示 transaction_id、name、test_name 和 result。我已经选择了 name,但无法找到 test_nameresult 的选择。

我想要这样的东西[pdf][5]

$result=mysqli_query($con,"SELECT r.transaction_Id,r.client_id,r.result_id,r.test_id,t.test_id,t.result,p.test_id,p.Name,c.Id,c.surName,c.firstName,c.dob,c.Gender FROM result r 
                                JOIN result_details t 
                                on r.test_id = t.test_id
                                left JOIN pricelist p ON r.test_id = p.test_id 
                                left JOIN clients c ON r.client_id = c.Id")or die(mysqli_error());


$r=mysqli_query($con,"SELECT DISTINCT id,firstName,surName,Gender,dob FROM clients join result WHERE result.client_id=clients.Id")or die(mysqli_error());

while ($row = mysqli_fetch_array ($r)) {

    $id=$row['id'];
    $clientfirstname=$row['firstName'];
    $surname=$row['surName'];
    $gender=$row['Gender'];
    $dob=$row['dob'];
    $t=mysqli_query($con,"SELECT transaction_Id FROM transaction WHERE clientId=$id") or die(mysqli_error());

    while ($test = mysqli_fetch_array ($t)) {
        $transaction=$test['transaction_Id'];
        $m=mysqli_query($con,"SELECT test_id,result_id from result where client_id=$id")or die(mysqli_error());
        while ($q = mysqli_fetch_array ($m)) {    
            $test_id=$q['test_id'];
            $result_id=$q['result_id'];
            $z=mysqli_query($con,"SELECT Name from pricelist where test_id=$test_id")or die(mysqli_error());
            while ($x = mysqli_fetch_array ($z)) {    
                $name=$x['Name'];
                $query=mysqli_query($con,"SELECT result from result_details where result_id=$result_id")or die(mysqli_error());
                while ($query1 = mysqli_fetch_array ($query)) {    
                    $result=$query1['result'];
                }
            }
        }
    }
}                       

最佳答案

只需添加:

GROUP BY AcctNo, OrderDate, Charge
HAVING COUNT(1) = 1

GROUP BY 将具有相同 field1、field2、... 和 Charge 的所有行分组在一起,然后 HAVING COUNT(1) = 1 仅显示只有 1 个祖先的行。我希望它会起作用

关于php - 选择时获取重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41891309/

相关文章:

linux - 发送 fpdf 附件在我的 linux suse 服务器上不起作用,但它在我的共享主机帐户上起作用

php - 提取 1 周时间间隔的记录,并在新的一周开始时启动下一个计时器

mysql - 查询执行时间过长

javascript - 如何使 JS 文件适用于通过 AJAX jquery 引入的内容?

php - 将变量转换为字符串

MySQL Slow LEFT JOIN Query 使用派生查询进行连接时

php - 在fpdf中显示具有存储在数据库中的样式的html标签

php - 使用 FPDF PHP 时出现奇怪的字符?

php - 在 Yii 中的 dropDownList 上生成不带 optgroup 的选择

PHP数组选择mysql