【发布时间】:2012-01-17 10:04:17
【问题描述】:
我正在制作新闻源类型的东西,我想从多个表格中进行选择。对于这个问题,我将重点关注的两个表是“帖子”和“照片”。
这是我对帖子的查询:
mysql_query("
SELECT * FROM posts
WHERE toID='$id' AND state='0'
ORDER BY id DESC LIMIT 10");
我的帖子表具有以下列名称:
Table: posts
id toID fromID post state date
1 1 1 Aloha 0 1
2 1 1 Hello 0 3
我的照片表有以下内容:
Table: photos
id userID photo state date
1 1 2 0 2
2 1 6 0 4
预期结果:
Aloha
2
Hello
6
可能是这样的:
SELECT *
(SELECT * FROM posts WHERE toID=$id AND state=0) AND
(SELECT * FROM photos WHERE userID=$id AND state=0)
ORDER BY date
当它从数据库中选择这些时,它应该选择 toID 和 userID 相同的地方。两者的状态都应该等于 0,(0 表示可见)并且它们应该按日期排序。我还需要创建一个新变量来传递给我的查询,这样我就可以在我的 php 中确定信息来自哪个表。最后,我希望它按日期对照片进行分组,假设用户在 30 分钟内上传了 20 张照片,他们只会返回一行。我使用 php time() 来存储我的日期。
【问题讨论】:
-
这里有一个我认为会有所帮助的解决方案。 stackoverflow.com/questions/3844655/…