0

SQLite のみを使用して作成されたレポートの列に X を出力する必要があります。

パターンを見つけるために必要です。そのレコードにそのパターンが存在する場合は X を出力し、見つからない場合は空白を出力します。

これが私が持っているものです。

SELECT `device_type` AS "Device",
SUBSTR(`model`, 1, 30) AS "Model",
  `location` AS "Location",
  (CASE WHEN (`user_tag` LIKE "%decommissioned%" THEN "X" ELSE " " END) AS "Decom",
  count(`id`) AS "Count"
FROM `devices`
GROUP BY `device_type` ORDER BY `device` ASC;

その報告

near "THEN": syntax error

私が言ったように、レポートをまとめるためだけに SQL を使用できます。少し制限がありますが、すべてこれに使用することが許可されています。

よろしくお願いします。

4

1 に答える 1

1

これは正しい構文だと思います:

SELECT `device_type` AS Device,
       SUBSTR(`model`, 1, 30) AS Model,
       `location` AS "Location",
        (CASE WHEN `user_tag` LIKE "%decommissioned%" THEN "X" ELSE " " END) AS "Decom",
        count(`id`) AS "Count"
FROM `devices`
GROUP BY device_type, SUBSTR(`model`, 1, 30), location,
         (CASE WHEN `user_tag` LIKE "%decommissioned%" THEN "X" ELSE " " END)
ORDER BY `device` ASC;

余分な開始括弧があります。さらに、この句は、グループの定義に使用される列に関してgroup by一致しません。select

于 2014-12-02T02:22:37.160 に答える