我有2个表医学史和病史医学史我有字段名称DoctorId和PatientId和患者ihave PatientId,FirstName,MiddleName,LastName
截至目前我的查询是这样,它只过滤了一个表和来自医学历史的病人。
$dids = $_SESSION["DoctorId"];
if(isset($_POST["btnsrch"])&& ($_POST["textbox"]!="")){
$pid = $_POST["textbox"];
$pid= mysqli_real_escape_string($_POST["textbox"]);
$query2= mysqli_query($link,"Select DISTINCT PatientId from medicalhistory where DoctorId='". $dids ."' or PatientId='". $pid ."'" );
}
我的问题是我将如何查询FirstName MiddleName和LastName,但它只查询医学史上该医生的记录名称?
答案 0 :(得分:0)
$query2= mysqli_query($link,"SELECT p.PatientId,p.firstname,p.middlename,p.lastname
FROM patient p
INNER JOIN medicalhistory as pa ON (p.PatientId = pa.PatientId)
WHERE pa.PatientId='".$pid."'" );
这将是您修改后的代码:
$dids = $_SESSION["DoctorId"];
if(isset($_POST["btnsrch"])&& ($_POST["textbox"]!="")){
$pid = $_POST["textbox"];
$pid= mysqli_real_escape_string($_POST["textbox"]);
$query2= mysqli_query($link,"SELECT p.PatientId, p.FirstName, p.MiddleName, p.LastName,pa.doctorID,pa.Evaluation FROM patient p INNER JOIN medicalhistory as pa ON (p.PatientId=pa.PatientId) WHERE pa.PatientId='".$pid."'" );
}
示例输出:
mysql> select p.id,p.First,p.last, p.middle,pa.id,pa.evalution from test1 as p left join test as pa on (p.id=pa.id) where p.first='Dan' and p.id=4 and p.last='smi
th';
+----+-------+-------+----------+----+-----------+
| id | First | last | middle | id | evalution |
+----+-------+-------+----------+----+-----------+
| 4 | Dan | Smith | chandran | 4 | sick |
+----+-------+-------+----------+----+-----------+
1 row in set (0.00 sec)