【发布时间】:2017-11-14 08:04:44
【问题描述】:
我正在编写 php-mysql 脚本并有两个表,即消息和成员。这些表格中的数据例如如下所示:
消息表:
_________________________________________________________________
|m_id| from_id | to_id | msg_subject | msg_body | sent_time |
------------------------------------------------------------------
| 1 | 142 | 335 | hello | how are you | 2017-25-10 |
------------------------------------------------------------------
| 2 | 225 | 443 | hi | whats up.. | 2017-26-10 |
------------------------------------------------------------------
| 3 | 332 | 110 | urgent | call me now | 2017-27-10 |
------------------------------------------------------------------
和成员表:
______________________________________________________________
| id | username | f_name | l_name | city | gender |
---------------------------------------------------------------
| 110 | joe | Joe | Tom | Rome | M |
---------------------------------------------------------------
| 142 | alb_p | Albert | Paul | Milan | M |
---------------------------------------------------------------
| 225 | ruby | Ruby | Hinge | Paris | F |
---------------------------------------------------------------
| 332 | ram | Ram | Sharma | Delhi | M |
---------------------------------------------------------------
| 335 | kris | Kity | Krin | Milan | F |
---------------------------------------------------------------
| 443 | reema | Reema | Pink | Dubai | F |
---------------------------------------------------------------
现在我希望这些表以这种方式加入 mysql 查询(或在 mysql 中使用两个 select),以便我应该获取每个 from_id 和 to_id 的用户名、f_name、l_name、城市和性别数据。而且我还应该得到 msg_subject、msg_body 和 sent_time。我在 while 循环中使用另一个 mysql 查询得到了这个,由于超过 500 行的性能问题,我不想使用它。最后,我想在 Web 浏览器中使用 html 显示以下类型的输出:
_____________________________________________________________________________
|m_id| Message | Message | Message | Message | Msg Sent |
| | From Member | To Member | Subject | Details | On Date |
-----------------------------------------------------------------------------
| |ID: 142 | ID: 335 | | | |
| |UserName: alb_p | UserName: kris | | | |
| |1st Name:Albert | 1st Name: Kity | | | |
| 1 |Last Name: Paul | Last Name: Krin| hello | how are you |2017-25-10|
| |City: Milan | City: Milan | | | |
| |Gender: Male | Gender: Female | | | |
-----------------------------------------------------------------------------
| |ID: 225 | ID: 443 | | | |
| |UserName: ruby | UserName:reema | | | |
| |1st Name:Ruby | 1st Name:Reema | | | |
| 2 |Last Name:Hinge | Last Name:Pink | hi | Whats up.. |2017-26-10|
| |City: Paris | City: Dubai | | | |
| |Gender: Female | Gender: Female | | | |
-----------------------------------------------------------------------------
等等...对于 m_id 行号。 3 还有..
我正在使用 while 循环中的另一个 mysql 查询得到这个 html 表格样式的输出,但我想在单个 mysql 查询中使用双选或两个连接来实现这一点。请给我建议的方式并给我mysql查询的详细信息..提前谢谢..(也透露我只是php-mysql编程的初学者..)
【问题讨论】:
-
这里没有太多所谓的脚本
-
是的。如果存在大量条件,则所有连接类型都可以在 sql 查询中有效使用。但公平地说,有一条不成文的规则,即不需要(也不会)使用“右连接”,因为可以将查询重组为使用左连接。
标签: php mysql sql inner-join