MySQL:如何更改选定的值

时间:2018-05-21 13:45:04

标签: mysql

我正在运行存储过程以在我的shipin表中插入值。我的问题是,我选择的字段AccountID需要具有与返回值不同的值。

例如,如果它返回值16,则需要在我的shipin表中插入191。如果它返回值1,则需要在我的shipin表中插入125。任何帮助将不胜感激。

INSERT INTO `timestone`.`shipin`
 (`REFERENCE_1`,
  `REFERENCE_2`,
  `date_loaded`,
  `location`)
SELECT
  `shipinimport`.`SubjectKey`, --Reference 1
  `shipinimport`.`AccountID`, --Reference 2
  Now(), --DateLoaded
  'DPI'--location
FROM `dpi_timestone`.`shipinimport`;

编辑:

所以我试图插入case表达式,但是我的语法有问题。

INSERT INTO `timestone`.`shipin`
 (`REFERENCE_1`,
  `REFERENCE_2`,
  `date_loaded`,
  `location`)
SELECT
  `shipinimport`.`SubjectKey`, --Reference 1
  `shipinimport`.`AccountID`, --Reference 2
  Now(), --DateLoaded
  'DPI'--location
Case AccountID
  When 16 Then 191
  When 1 Then 125
End
FROM `dpi_timestone`.`shipinimport`;

1 个答案:

答案 0 :(得分:0)

对于任何可能需要参考的人来说,这最终会让我返回结果。

    INSERT INTO `timestone`.`shipin`
     (`REFERENCE_1`,
      `REFERENCE_2`,
      `date_loaded`,
      `location`)
    SELECT
      `shipinimport`.`SubjectKey`, --Reference 1
      `shipinimport`.`AccountID`, --Reference 2
      Now(), --DateLoaded
      'DPI'--location
    FROM `dpi_timestone`.`shipinimport`;
    Select Case AccountID
      When 16 Then 191
      When 1 Then 125
    End
    FROM `dpi_timestone`.`shipinimport`;