我建了两个表 一个是text(name,dname)一个是text1(num,item),text表里有一条记录是(安全,text1),我想要通过text表来查询text1中所有值。我用的是select * from (select dname where name='安全');但是错误。请问应该怎么编写代码。谢谢了,急!奖励很高啊!

解决方案 »

  1.   

    就比如说,我可以定义一个变量x,查询表text,当name=‘安全’得到的结果text1赋值给这个变量x,这时x值就是text1,通过这个在查询text1表中的数据 
      

  2.   

    我可以定义一个变量x,查询表text,当name=‘安全’得到的结果text1赋值给这个变量x,这时x值就是text1
    select into @x from text where name=‘安全’;
    查询TEXT1表,
    set @ww=concat('select * from ',@x)
    prepare qq from @ww;
    execute qq
      

  3.   

    注意:上述代码假设你只有一条name=‘安全’记录
      

  4.   

    由于你的表名是动态的,所以只能用prepare,execute 来完全你的动态SQL语句了。不过还是建议直接在你的程序中来实现而不是在数据库中来实现。这样会影响数据库的移植性。