PHP / MYSQL加入多个表

前端之家收集整理的这篇文章主要介绍了PHP / MYSQL加入多个表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从来没有这样的 PHP / MysqL技巧来加入multitables.请谁有此领域的经验帮助:
表TICKETS中的字段:
  1. ID TICKETID CUSTOMER
  2. 234 29 9798797
  3. 235 76 7887878

表RECEPTS中的字段:

  1. ID DATENEW TOTAL
  2. 234 2012-12-03 22.57
  3. 235 2012-12-03 33.98

表PAYMENTS中的字段:

  1. RECEIPT PAYMENT
  2. 234 cash
  3. 235 debt

表CUSTOMERS中的字段:

  1. ID NAME
  2. 9798797 John
  3. 7887878 Helen

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

最后的结果我想达成:

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

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

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

SQL Fiddle with Demo

结果:

  1. | TICKETID | DATENEW | NAME | PAYMENT | TOTAL |
  2. ---------------------------------------------------
  3. | 29 | 2012-12-03 | John | cash | 22.57 |
  4. | 76 | 2012-12-03 | Helen | debt | 33.98 |

猜你在找的PHP相关文章