在MySQL中执行insert命令时与子查询一起使用case?
我正在寻找如何制作一个insert命令,当语法在其中使用子查询时使用该用例。我知道这听起来很复杂 我尝试了谷歌搜索并编写了一些脚本,但目前还没有完成-我想原因是我不熟悉MySQL中的在MySQL中执行insert命令时与子查询一起使用case?,mysql,subquery,case-when,Mysql,Subquery,Case When,我正在寻找如何制作一个insert命令,当语法在其中使用子查询时使用该用例。我知道这听起来很复杂 我尝试了谷歌搜索并编写了一些脚本,但目前还没有完成-我想原因是我不熟悉MySQL中的case when命令以及case when的嵌入式子查询 请分享你所知道的 INSERT INTO `someTable` (`someColumn`, `someColumn2`) VALUES ( SUB-QUERY-IN-CASE-WHEN-GOES-HERE, 'someColumnValue'), 你可
case when
命令以及case when
的嵌入式子查询
请分享你所知道的
INSERT INTO `someTable` (`someColumn`, `someColumn2`) VALUES
( SUB-QUERY-IN-CASE-WHEN-GOES-HERE, 'someColumnValue'),
你可以试试这个伴侣:
INSERT INTO `someTable` (`someColumn`, `someColumn2`)
SELECT
CASE
WHEN someValue = 1 THEN (
SELECT
anotherValue
FROM
another_table
WHERE
another_condition = 1
)
WHEN someValue = 2 THEN (
SELECT
anotherValue
FROM
another_table
WHERE
another_condition = 2
)
ELSE (
SELECT
anotherValue
FROM
another_table
WHERE
another_condition = 0
)
END 'someColumn',
'someColumn2'
FROM
other_table
WHERE
your_condition = 1;
附言:
很好的编辑顺便说一句,甚至没有一个评论/答案的回应。请尽可能在应用程序端计算/处理数据,这不建议实施IMHO。干杯请提供更多详细信息。显示一些输入数据以及您试图从中获得的结果。有许多不同的方法可以完成您正在尝试的工作,我们需要更多的细节来了解正确的解决方案。如果您“不熟悉MySQL中的case-when命令以及case-when的嵌入式子查询”,您如何知道您在寻找什么?提问的最佳方式是提供示例数据和所需结果。他希望
然后或否则结果成为子查询。
INSERT INTO `someTable` (`someColumn`, `someColumn2`)
SELECT
CASE
WHEN someValue = 1 THEN (
SELECT
anotherValue
FROM
another_table
WHERE
another_condition = 1
)
WHEN someValue = 2 THEN (
SELECT
anotherValue
FROM
another_table
WHERE
another_condition = 2
)
ELSE (
SELECT
anotherValue
FROM
another_table
WHERE
another_condition = 0
)
END 'someColumn',
'someColumn2'
FROM
other_table
WHERE
your_condition = 1;