我有以下JOIN
我正在尝试创建。SQL JOIN失败的问题
SELECT rating_draft_result.COUNT(id), rating_draft_result.user_id, rating_draft_result.result
FROM rating_draft_result
INNER JOIN users ON
rating_draft_result.user_id, rating_draft_result.result = users.id
我想COUNT
的rating_draft_result表的总id
的,然后也SELECT
user_ID的,并从该表中的结果。然后我试图将user_id和rating_draft_result表中的结果匹配到用户的id列。然后我想从id匹配的用户表中获取用户名,但是我无法确定该部分,并且无论如何使用下面的代码都会收到错误。
我碰到下面的错误..
调查SELECT总数准备()失败:您的 SQL语法错误;检查对应于你的MySQL服务器版本 在第4行
我的数据库表像这样用接近“.ID”正确的语法是什么我手动...
users
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`lastname` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`phone_number` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
`username` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`salt` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`joined` datetime NOT NULL,
`group` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=105 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
rating_draft_result
CREATE TABLE `rating_draft_result` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`result` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
在我的查询中做错了吗?
所需的输出:
用户 CREATE TABLE users
( id``firstname``lastname``email``phone_number``username``password``salt``joined
group
1 Jack Johnson [email protected] 2222 jackusername ffd fdddfd today 1
10 Tom Thompson [email protected] 5555 Tomusername
rating_draft_result
`id` `user_id` `result`
20 1 10
我希望能够匹配rating_draft_result的user_id
和result
与用户表的id字段
。所以我想获取jackusername和tomusername字段。
@everyone你怎么知道他不希望将'result'列作为连接条件的一部分? –
@TimBiegeleisen我也想加入。 – Ralph
你能告诉我们一个你想从查询中得到的样本输出吗? –