簡體   English   中英

使用兩個或多個表的SQL查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM