Php 显示子类别SQL的最新主题
我正在尝试用子类别创建一个类别,显示子类别中的最新主题 然而,数据库设置似乎有问题 查询:Php 显示子类别SQL的最新主题,php,sql,Php,Sql,我正在尝试用子类别创建一个类别,显示子类别中的最新主题 然而,数据库设置似乎有问题 查询: $stmt = $conn->prepare("SELECT * FROM categories LEFT JOIN subs ON subs.category_id = categories.id LEFT JOIN threads ON subs.category_id = threads.subcategory_id WHERE threads.lastdate = 5 AND cat
$stmt = $conn->prepare("SELECT *
FROM categories
LEFT JOIN subs ON subs.category_id = categories.id
LEFT JOIN threads ON subs.category_id = threads.subcategory_id
WHERE threads.lastdate = 5 AND categories.id = subs.category_id AND subs.category_id = threads.subcategory_id AND
threads.lastdate = threads.lastdate
GROUP BY threads.lastdate, categories.id ASC")
数据库:
CREATE TABLE `threads` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`subcategory_id` int(11) NOT NULL,
`title2` varchar(255) NOT NULL DEFAULT '',
`lastdate` int(11) NOT NULL,
`user` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
潜艇:
类别:
CREATE TABLE `categories` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
希望有人能把我救出来
TJ确实不清楚您试图通过该查询实现什么,但您不能使用:
SELECT *
结合:
GROUP BY
将select语句更改为:
SELECT threads.lastdate, categories.id
或删除GROUPBY子句
吉拉德已经整理了你的很多问题,但是他现在有一个尾随,在他的WHERE子句的末尾,还有上面提到的groupby问题,不幸的是,我也不能评论让他知道
编辑-显然,您可以在mysql中使用select*和group by…您会遇到什么错误?提供更多信息。当我尝试在lastdate为“5”的数据库中创建新线程时,它仍然返回空白。我不熟悉数据库结构,所以也许有人可以看看这里谁知道它?这个问题——坦率地说读起来很糟糕——没有被否决,但我的答案是(被一个胆小鬼拒绝解释原因)?这个网站上发生了一些非常奇怪的事情。似乎我需要为我想要的结果创建一个新的SQL。我接受这个答案,因为它确实符合我的要求。
SELECT threads.lastdate, categories.id