繁体   English   中英

筛选表,然后合并结果

[英]Filtering table and then joining results

我试图通过id过滤表集合,然后在users.user_id上加入collections.user_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 * 
  FROM  collections A 
  JOIN users B ON A.mid = B.user_id 
              AND A.mid = 'value of $id'
ORDER BY B.user_id 

这个怎么样:

SELECT c.*, u.* FROM collections c
JOIN users u ON c.mid = ? AND c.mid = u.user_id
ORDER BY u.user_id

(当然,其中?是参数标记)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM