加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP / MYSQL加入多个表

发布时间:2020-12-13 18:13:14 所属栏目:PHP教程 来源:网络整理
导读:我从来没有这样的 PHP / MYSQL技巧来加入multitables.请谁有此领域的经验帮助: 表TICKETS中的字段: ID TICKETID CUSTOMER234 29 9798797235 76 7887878 表RECEPTS中的字段: ID DATENEW TOTAL234 2012-12-03 22.57235 2012-12-03 33.98 表PAYMENTS中的字段
我从来没有这样的 PHP / MYSQL技巧来加入multitables.请谁有此领域的经验帮助:
表TICKETS中的字段:
ID TICKETID CUSTOMER
234   29      9798797
235   76      7887878

表RECEPTS中的字段:

ID   DATENEW    TOTAL
234 2012-12-03   22.57
235 2012-12-03   33.98

表PAYMENTS中的字段:

RECEIPT   PAYMENT
234       cash
235       debt

表CUSTOMERS中的字段:

ID            NAME
9798797       John
7887878       Helen

表之间的关系很容易理解:TICKETS.CUSTOMER = CUSTOMERS.ID; PAYMENTS.RECEIPT = RECEIPTS.ID = TICKETS.ID

最后的结果我想达成:

TICKETID DATENEW      NAME    PAYMENT TOTAL
29       2012-12-03   John     cash   22.57
76       2012-12-03   Helen    debt   33.98

我试图做这样的事情,但在某处错了:

$qry = mysql_query("Select TICKETS.TICKETID,RECEIPTS.DATENEW,PAYMENTS.TOTAL,CUSTOMERS.NAME,PAYMENTS.PAYMENT FROM PEOPLE,RECEIPTS 
INNER JOIN TICKETS ON RECEIPTS.ID = TICKETS.ID
INNER JOIN CUSTOMERS ON TICKETS.CUSTOMER = CUSTOMERS.ID
ORDER BY RECEIPTS.DATENEW");
您应该能够使用以下内容来获得结果:
select t.ticketid,date_format(r.datenew,'%Y-%m-%d') datenew,c.name,p.payment,r.total
from tickets t
left join RECEPTS r
  on t.id = r.id
left join CUSTOMERS c
  on t.customer = c.id
left join payments p 
  on t.id = p.RECEIPT
  and r.id = p.RECEIPT

见SQL Fiddle with Demo

结果:

| TICKETID |    DATENEW |  NAME | PAYMENT | TOTAL |
---------------------------------------------------
|       29 | 2012-12-03 |  John |    cash | 22.57 |
|       76 | 2012-12-03 | Helen |    debt | 33.98 |

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读