【发布时间】:2014-03-17 15:22:30
【问题描述】:
我有一个场景,一张桌子返回给我多个 ID。现在我想使用相同的查询从其他表中获取这些 id 的记录。 我的查询是:
SELECT `uID` AS `userID`,
count(uID) AS `artistTotalViews`
FROM `artist_view`
GROUP BY
`uID`
ORDER BY
`artistTotalViews` DESC
我的结果是:
userID ArtistTotalViews
0 2
1 2
5 1
4 1
2 1
现在我希望在使用这些用户 ID 时,我可以从其他表中获取数据。另一个表中的整行使用相同的此查询,但针对其他表中存在的用户 ID。
我的表结构是:
我要从中获取记录的那个:
-- ----------------------------
-- Table structure for web_user
-- ----------------------------
DROP TABLE IF EXISTS `web_user`;
CREATE TABLE `web_user` (
`uID` int(8) NOT NULL auto_increment,
`uFname` varchar(15) NOT NULL,
`uLname` varchar(15) NOT NULL,
`uEmail` varchar(100) NOT NULL,
`userName` varchar(15) NOT NULL,
`uPassword` varchar(255) NOT NULL,
`uAddress` varchar(255) default NULL,
`uCity` varchar(20) default NULL,
`uState` varchar(5) default NULL,
`uZipcode` int(8) default NULL,
`uPhone` varchar(15) default NULL,
`uImage` varchar(150) default NULL,
`userType` tinyint(1) NOT NULL,
`uGenre` int(8) default NULL,
`website` varchar(255) default NULL,
`biography` text,
`uVerifyCode` varchar(255) NOT NULL,
`featured` tinyint(1) NOT NULL default '0',
`activate` tinyint(1) default '0',
`uStatus` tinyint(1) NOT NULL,
`uPaid` tinyint(1) NOT NULL,
PRIMARY KEY (`uID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
与当前查询完美配合的那个:
-- ----------------------------
-- Table structure for artist_view
-- ----------------------------
DROP TABLE IF EXISTS `artist_view`;
CREATE TABLE `artist_view` (
`viewID` int(8) NOT NULL auto_increment,
`uID` int(8) NOT NULL,
`userIP` varchar(20) NOT NULL,
PRIMARY KEY (`viewID`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of artist_view
-- ----------------------------
INSERT INTO `artist_view` VALUES ('1', '5', '203.170.68.22');
INSERT INTO `artist_view` VALUES ('2', '4', '203.170.68.22');
INSERT INTO `artist_view` VALUES ('3', '2', '203.170.68.22');
INSERT INTO `artist_view` VALUES ('4', '1', '203.170.68.22');
INSERT INTO `artist_view` VALUES ('5', '0', '203.170.68.22');
INSERT INTO `artist_view` VALUES ('6', '1', '103.224.14.2');
INSERT INTO `artist_view` VALUES ('7', '0', '103.224.14.2');
谢谢。
【问题讨论】:
-
你必须使用基于 UserID 的 join
-
你能帮我实现吗?我不知道如何使用加入。我知道加入可以提供帮助。