我有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。
答案 0 :(得分:1)
您可以使用JOIN从附加表中引入数据。
SELECT r.src, a.* FROM relation AS r JOIN attach AS a ON r.src=a.id WHERE r.src = 1;