【问题标题】:SQL query using two or more tables使用两个或多个表的 SQL 查询
【发布时间】:2015-11-01 15:37:35
【问题描述】:

我正在尝试从我的 SQL 获取信息到 PHP 页面,我遇到的问题是我正在尝试使用多个表来填充结果

虽然表的列名称相同,但表名明显不同。

桌票

status_id; 票号

表票__cdata

ticket_id

 SELECT * FROM ticket WHERE status_id = '1' ORDER BY created DESC

我过滤表只在 TABLE 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>

现在我无法回显任何信息

【问题讨论】:

    标签: php sql select inner-join


    【解决方案1】:

    您可以使用连接:

    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
    

    【讨论】:

    • 我已经按照你的描述做了,但是现在当我回显信息时,什么都没有显示
    【解决方案2】:

    您的初始查询可以更改为:

    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' 的票证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 2018-06-11
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      相关资源
      最近更新 更多