mysql脚本将查询输出添加为另一个查询的输入

时间:2018-05-25 17:04:58

标签: mysql sql stored-procedures cursor

我正在尝试在MySQL中编写一些需要执行以下操作的查询: 此处的查询将返回满足caseid = 702的所有记录以及来自另一个表的连接。

SELECT db.tab1.id as id
  FROM db.tab1 JOIN db.tab2
    ON db.tab1.caseid = db.tab2.padid
 WHERE db.tab1.caseid=702

我想获取此查询的输出并作为数组插入另一个表t3的UPDATE语句。

我如何在MySQL上做到这一点?我在Cursor上读了很少的资源,还是我必须为它编写存储过程?

由于

2 个答案:

答案 0 :(得分:0)

怎么样:

update table_a set col1 = value1
  where id in (
    SELECT db.tab1.id as id
      FROM db.tab1 JOIN db.tab2
        ON db.tab1.caseid = db.tab2.padid
     WHERE db.tab1.caseid=702
  );

第二轮:我冒昧地重构你的查询。我希望它有所帮助:

update evou e
  set status = 1234 
  where vid in (
    SELECT vid 
      FROM pay p
      where p.resoncode = 222 
        and p.vid = e.vid
    )
  and e.status=70006

答案 1 :(得分:0)

从联接中更新如下:

public static void main (String[] args)
{
    ArrayList<String> ball = new ArrayList<String>();
    ball.add("B1");
    ball.add("B2");
    ball.add("B3");
    ball.add("B4");
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button = (Button) findViewById(R.id.button);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Random r = new Random();
            String call = ball.get(r.nextInt(ball.size()));
            TextView text = (TextView) findViewById(R.id.result);
            text.setText(call);
            ball.remove(r);
        }
    });
}
}