我正在尝试根据另一个表中的数据插入具有不同数据的多行。
场景:
我有列 tbl1_action
和 tbl1_actiondate
。
我想在 tbl2
中搜索 tbl2_reviewdate
和 tbl2_destroydate
中的数据。如果 tbl2_reviewdate
中有数据,那么我需要 tbl1_action = 'review'
和 tbl1_actiondate = tbl2_reviewdate
。如果tbl2_destroydate
中有数据,我需要另一行tbl1_action = 'destroy'
和tbl1_actiondate = tbl2_destroydate。
总结一下所有可能的情况:
If tbl2_ReviewDate IS NULL AND
tbl2_DestroyDate IS NULL
将一条记录插入到 tbl1 中,其中 action 且 actiondate = NULL
tbl2_ReviewDate IS NOT NULL AND
tbl2_DestroyDate IS NULL
Insert one row with tbl1_action = 'Review' and tbl1_actiondate = tbl2_reviewdate
tbl2_ IS NULL AND
tbl2_DestroyDate IS NOT NULL
Insert one row with tbl1_action = 'Destroy' and tbl1_actiondate = tbl2_destroydate
tbl2_ReviewDate IS NOT NULL AND
tbl2_DestroyDate IS NOT NULL
Insert two rows; One with tbl1_action = 'Destroy' and tbl1_actiondate = tbl2_destroydate and one with tbl1_action = 'Review' and tbl1_actiondate = tbl2_reviewdate.
是否可以在一个脚本中完成这一切?最好的方法是什么?
谢谢你的帮助
最佳答案
我想你想要这样的东西:
insert into table1(action, date)
select 'Review', ActionDate
from tbl2
where tbl2.ReviewDate IS NOT NULL
union all
select 'Destroy', DestroyDate
from tbl2
where tbl2.DestroyDate IS NOT NULL;
您也可以将其作为两个单独的 insert
语句来执行。
关于mysql - SQL - 根据多个条件插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30843549/