[英]SQL query using two or more tables
我試圖從我的SQL獲取信息到PHP頁面,我有的問題我試圖使用多個表來填充結果
表的列雖然名稱相同,但表名明顯不同。
表票
STATUS_ID; TICKET_ID
表ticket__cdata
TICKET_ID
SELECT * FROM ticket WHERE status_id = '1' ORDER BY created DESC
我過濾表只查找表A中的1
我在表A中回顯了PHP上的TICKET_ID,但現在我想在表B中過濾ticket_id並從該表單中提取信息。 表中沒有status_id,因此無法再次對其進行過濾。
邏輯說我必須說出這樣的話
SELECT * FROM ticket_cdata WHERE ticket_id = '".$ticket_id."'
這是我的代碼到目前為止沒有第二個查詢
$result = mysql_query("SELECT * FROM ost_ticket WHERE status_id = '1' ORDER
BY created DESC");
?>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td class="center">
<div align="center"><? echo $rows['number']; ?></div></td>
<td><div align="center"><? echo $rows['ticket_id']; ?></div></td>
<td><div align="center"><? echo $rows['lbs_time']; ?></div></td> //This it the info required from TABLE ticket but must be linked to the status_id
更新的字符串
$result = mysql_query("SELECT tc.*
FROM ticket_cdata tc
JOIN ticket t ON tc.ticket_id = t.ticket_id
WHERE t.status_id = '1'
ORDER BY t.created DESC");
?>
<tr>
<td class="center">
<div align="center"><? echo $rows['number']; ?></div></td>
<td><div align="center"><? echo $rows['ticket_id']; ?></div></td>
<td><div align="center"><? echo $rows['created']; ?></div></td>
<td><div align="center"><? echo $rows['subject']; ?></div></td>
現在我無法回應任何信息
您可以使用聯接:
SELECT tc.*
FROM ticket_cdata tc
JOIN ticket t ON tc.ticket_id = t.ticket_id
WHERE t.status_id = '1'
ORDER BY t.created DESC
您的初始查詢可以更改為:
SELECT * FROM ticket t
WHERE t.status_id = '1'
AND EXISTS (SELECT * FROM ticket__cdata WHERE ticket_id = t.ticket_id)
ORDER BY t.created DESC
這會將結果限制為ticket__cdata
表中存在的票證,並且status_id = '1'
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.