SELECT * FROM users WHERE userid=1
这条查询语句中字段id能不能用查询结果代替?like this
SELECT * FROM users WHERE (SELECT fieldname FROM fields WHERE fldid=71)=1我这样写查询不出数据,另外可以肯定SELECT fieldname FROM fields WHERE fldid=71结果是userid,请问应该怎么写?
这条查询语句中字段id能不能用查询结果代替?like this
SELECT * FROM users WHERE (SELECT fieldname FROM fields WHERE fldid=71)=1我这样写查询不出数据,另外可以肯定SELECT fieldname FROM fields WHERE fldid=71结果是userid,请问应该怎么写?
解决方案 »
- 千万量级数据要在十几秒内返回如何做?
- windows程序报错想跟踪mysql执行情况(相当于mssql事件探查器功能).请教哪位会?
- 关于在linux下编译连接MYSQL数据库的程序,该包括哪个库?
- mysql支持中文全文检索吗?该怎么弄呢?
- Mysql里text类型的修改问题,一个对高手来说简单的问题
- 为字段限制默认值
- 请DBA大哥帮我解决一下
- 求助,目录/var/lib/mysql/文件夹空间占用很大有500G左右
- mysql 报错query builder does not support this syntax near "trigger"
- sql统计查询,关于树结构,求解!!!
- 关于MYsql的全文搜索
- 双服务器配置问题~~
如果是要放在程序中执行,你可以先把“SELECT fieldname FROM fields WHERE fldid=71”的结果先放一个变量中,然后再
“SELECT * FROM users WHERE "+变量+"=1"得到新的SQL语句
这个得用到与处理语句。select fieldname from fields where fldid = 71 into @f_id;
set @stmt = concat('SELECT * FROM users WHERE ',@f_id,' = 1');
prepare s1 from @stmt;
execute s1;
deallocate prepare s1;