我不会说英语。 我使用谷歌翻译。IN(选择.....)MYSQL
(`id` int(11) NOT NULL AUTO_INCREMENT,)
(`members` text NOT NULL)
我有以下查询:
SELECT members FROM team WHERE id = 37
结果是:25,36,38,87
工作完美
,我有这等查询:
SELECT *
FROM users
WHERE id_users IN (25,36,38,87)
完美工作
但这不起作用
SELECT *
FROM users
WHERE id_users IN (SELECT members FROM team WHERE id = 37 )
我不得不用PHP修复:
SELECT * FROM users WHERE id_users IN ($members)
非常感谢大家。再一次,我的英语很抱歉。我用谷歌翻译。非常好的网站
新增从评论的模式:
CREATE TABLE IF NOT EXISTS team (
id int(11) NOT NULL AUTO_INCREMENT,
members text NOT NULL,
PRIMARY KEY (id)
)
CREATE TABLE IF NOT EXISTS users (
id_users int(11) NOT NULL AUTO_INCREMENT,
name varchar(100) CHARACTER SET latin1 NOT NULL,
PRIMARY KEY (id_usuario)
)
每个表的属性是什么?如果您使用'id'而不是'id_users',那会起作用吗? – TheDude 2012-02-02 05:44:55
CREATE TABLE IF NOT EXISTS'team'( 'id' INT(11)NOT NULL AUTO_INCREMENT, 'members'文本NOT NULL, PRIMARY KEY('id') ) CREATE TABLE IF NOT EXISTS (用户)( 'id_users' int(11)NOT NULL AUTO_INCREMENT, 'name' varchar(100)CHARACTER SET latin1 NOT NULL, PRIMARY KEY('id_usuario') ) – 2012-02-02 05:51:00