得到关系然后从表中获取 - php& MySQL的

时间:2014-10-17 22:03:21

标签: php mysql relationship

我有3个表格例如:post,attach,relation。

当我选择发帖后,我需要在此帖子上附上文件。

现在我必须从关系表中选择。因为附加可以添加到其他帖子。

我轻松选择帖子,那么现在选择附件的最佳方式是什么?

post表:

+----+--------------+-------------+
| id | post_title   | post_text   |
+----+--------------+-------------+
|  1 | test title 1 | test text 1 |
|  2 | test title 2 | test text 2 |
+----+--------------+-------------+

attach表:

+----+-------------------------------+
| id | url                           |
+----+-------------------------------+
|  1 | http://xxxxxx.ir/img/logo.png |
|  2 | http://xxxxxx.ir/img/tut.png  |
+----+-------------------------------+

relation表:

+-----+-----+
| src | dst |
+-----+-----+
|   1 |   1 |
|   1 |   2 |
+-----+-----+

和我试过的sql代码:

SELECT dst FROM relation where src = 1 ;

然后我在php中内爆:

$ids = implode( $result );

然后是我的最终查询:

SELECT * FROM attach WHERE id IN( $ids ) ;

我需要更好的方法和SQL。

1 个答案:

答案 0 :(得分:1)

您可以使用JOIN从附加表中引入数据。

SELECT r.src, a.* FROM relation AS r JOIN attach AS a ON r.src=a.id WHERE r.src = 1;