是否可以在没有prepare语句的情况下使用动态表名在一个查询中执行此操作?

时间:2016-10-14 04:48:06

标签: mysql

我有一个调查记录表,我想计算最新的调查重新编码,字段'完整'是''Y',而最新的幸存名称在另一个表中创建,这意味着,表名是动态的,

@Getter
@Setter
public class ProductManager {
    private String name;
    private int age;

    public ProductManager(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public ProductManager name(String name) {
        this.name = name;
        return this;
    }

    public ProductManager name(int age) {
        this.age = age;
        return this;
    }
}

但它无法正常工作

记录表:(名称是动态的)

public List<ProductManager> convert() {
    List<ProductManager> pros = new ArrayList<>();
    for (Developer dev: A) {
        ProductManager manager = new ProductManager();
        manager.setName(dev.getName());
        manager.setAge(dev.getAge());
        pros.add(manager);
    }
    return pros;
}

调查表:

select 'complete' count(*)  
from( 
  select 'survey_name' 
  from survey 
  Where active=''Y'' 
  order by cratedate desc 
  limit 1
  ) 

我知道应该通过prepare语句完成,但我的系统(joomla + plotalot)只接受一个查询。

1 个答案:

答案 0 :(得分:0)

您需要添加&#39; id &#39; 调查表中的列 当然,ID必须在SURVEY和RECORD表之间链接

然后,您可以使用以下查询

$user = $_SESSION['user'];