1

How can I make an insert statement of this select statement?

SELECT et 
 FROM user 
      inner join  petrazafa.class_room 
      using(id) 
where title like '%11%' 
   or  title like '%12%';

I need to insert into all et = 1;

thanks

1
  • doesn't work INSERT INTO user(et) SELECT class_id FROM user inner join petrazafa.class_room using(id) where title like '%11%' or title like '%12%' values (1) ; Commented Jun 28, 2013 at 11:01

3 Answers 3

3

Edit 1 :

I think there's an answer here : Use select query inside the Insert query for the same table name

For you :

INSERT INTO `yourtable`(et)
SELECT et 
FROM user 
      inner join  petrazafa.class_room 
      using(id) 
 where title like '%11%' 
      or  title like '%12%';

Watch doc :

INSERT ... SELECT Syntax

Doc Exemple :

INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
1

Try something like

  INSERT INTO user( 1 as et )
SELECT et
    FROM user 
      inner join  petrazafa.class_room 
      using(id) 
where title like '%11%' 
   or  title like '%12%';
1
  • no just a quick example but just realised i missed the select off the query :/
    – Dev N00B
    Commented Jun 28, 2013 at 11:01
0

As I understand you want to update et=1 for title like '%11%' or title like '%12%'

for that

update user u inner join petrazafa.class_room  c on u.id=c.id set et=1  where title like '%11%' 
or title like '%12%' 
1
  • update user u inner join class_room c on u.class_id=c.id set et=1 where title like '%11%' or title like '%12%' Commented Jun 28, 2013 at 11:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.