志愿者演出要求我与 MySQL 数据库搏斗,这是我以前从未做过的,所以请接受我对我的问题可能非常基本的性质表示歉意!我已经阅读了很多关于将查询结果放入变量的类似问题,但其中大多数要么不相关,要么就在我的脑海中。
将参加会议的用户已经回答了一项调查,以提供有关他们何时可用的信息。我需要将此数据复制到计划创建软件使用的完全独立的表中。幸运的是,我设置了调查,以软件的时隙 ID 号的形式存储每个答案。
我有一个查询,开头如下:
INSERT INTO user_time_slots (user_id,day_time_slot_id,available)
SELECT users.id, question.answer, '1'
...
结果是像这样的行
455,17,1
455,29,1
466,13,1
到目前为止,一切都很好。然而!这些是全小时的时间段,例如 12:00 和 15:00,会议在半小时内安排了一些项目。每个半小时时段都有一个全小时时段的 ID 号 + 1。假设 12:00 可用的任何人也可以在 12:30 可用,我希望得到如下所示的结果
455,17,1
455,18,1
455,29,1
455,30,1
466,13,1
466,14,1
我到了@half_hour := question.answer + 1
,然后我迷路了;我不知道如何在设置day_time_slot_id
和question.answer
设置之间交替@half_hour
。这在没有荒谬的扭曲的情况下可行吗?
如果没有,我的备份计划是像上面一样运行一次查询
INSERT INTO user_time_slots (user_id,day_time_slot_id,available)
SELECT users.id, @half_hour := question.answer + 1, '1'
...
但当然我宁愿有一个查询而不是两个。
任何帮助将不胜感激。谢谢!
干杯,玫瑰