Mysql 筛选表,然后连接结果

Mysql 筛选表,然后连接结果,mysql,Mysql,我正在尝试按id筛选表集合,然后在users.user\u id上加入collections.user\u id 这是我尝试过的问题 SELECT * FROM (SELECT * FROM collections WHERE mid=`$id`) c JOIN users on c.mid = users.user_id ORDER BY users.user_id 显然还没能让它工作。任何帮助或指点都将不胜感激 CREATE TABLE `collections` ( `use

我正在尝试按id筛选表集合,然后在users.user\u id上加入collections.user\u id

这是我尝试过的问题

SELECT * FROM 
 (SELECT * FROM collections WHERE mid=`$id`) c 
 JOIN users on c.mid = users.user_id ORDER BY users.user_id
显然还没能让它工作。任何帮助或指点都将不胜感激

CREATE TABLE `collections` (
  `user_id` int(11) NOT NULL,
  `mid` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `users` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `api_public` varchar(32) DEFAULT NULL,
  `api_secret` varchar(32) NOT NULL,
  UNIQUE KEY `unique id` (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
这个怎么样:

SELECT c.*, u.* FROM collections c
JOIN users u ON c.mid = ? AND c.mid = u.user_id
ORDER BY u.user_id
(其中
当然是参数标记)。

您能试试这个吗

SELECT * 
  FROM  collections A 
  JOIN users B ON A.mid = B.user_id 
              AND A.mid = 'value of $id'
ORDER BY B.user_id 

工作得很好。只需将A.mid上的“B”更改为A.user\u id上的“B”。