我在PHP下面的代码:MySQL错误在嵌套查询
SELECT (
SELECT (
SELECT `forum_posts.id`,`forum_posts.author`,`forum_posts.author_id`, `forum_boards.date`, MIN(`forum_posts.date`) FROM `forum_posts`
WHERE `parent` IN
(SELECT `id` FROM `forum_boards` WHERE `parent`="'.Oflow(intval((isset($_GET['id']) ? $_GET['id'] : '0'))).'")
INNER JOIN `forum_boards`
ON `forum_boards.id`=`forum_posts.id`
ORDER BY `update_date` DESC
LIMIT 1
GROUP BY `parent`;
) ORDER BY `order_large`,`order`;
) UNION (
SELECT `name`,`id`,`info`,`parent_name` FROM `forum_boards` WHERE `parent`="'.Oflow(intval((isset($_GET['id']) ? $_GET['id'] : '0'))).'" ORDER BY `order_large`,`order
)
这是一个脚本来得到一个论坛系统板和职位名单。它应该做的是从表格“板”和“帖子”中获取数据。然后尝试在当前正在查看的董事会的子板中找到最新的帖子。然后,它试图加入“父母”和董事会“ID”togeather,以便可以匹配列,并相应地对帖子进行排序。最后,执行联合会将新发现的和有序的帖子与实际的论坛数据结合起来。
错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN
forum_boards
ONforum_boards.id
=forum_posts.id
ORDER BY' at line 7
的问题是,它不工作!我已经仔细检查了每一列和表名,并且它们都存在。这是一个非常“alpha”的代码,所以如果你有任何效率提示,那就太棒了。
那么你有什么建议如何做到这一点? – 2012-03-18 07:50:09
@ConnorPeet我不是100%清楚你想达到什么。也许发布一些样本数据和一些样本输出来澄清它。 – liquorvicar 2012-03-18 08:34:47