へのクエリからのデータのINSERTこのクエリは動作します...既存のテーブル
SELECT Round(((SELECT Count(*)
FROM nps_surveys
WHERE score >= 9
AND social = 0
AND Date(completedon) >= Last_day(CURRENT_DATE) +
INTERVAL 1 day
- INTERVAL 1 month)/
(SELECT Count(score)
FROM nps_surveys
WHERE score IS NOT NULL
AND social = 0
AND Date(completedon) >= Last_day(
CURRENT_DATE) +
INTERVAL 1 day
-
INTERVAL 1 month) *
100) - ((SELECT Count(*)
FROM nps_surveys
WHERE score >= 0
AND score <= 6
AND social = 0
AND Date(completedon) >= Last_day(CURRENT_DATE)
+
INTERVAL 1
day
- INTERVAL 1 month)/
(SELECT Count(score)
FROM nps_surveys
WHERE score IS NOT NULL
AND social = 0
AND Date(completedon) >= Last_day(
CURRENT_DATE)
+
INTERVAL
1 day
-
INTERVAL 1 month) *
100)) nps;
しかし、この1つは...
SELECT cast(round((
(
SELECT Count(*)
FROM nps_surveys
WHERE score >= 9
AND social = 0
AND Date(completedon) >= Last_day(CURRENT_DATE) + interval 1 day - interval 1 month)/
(
SELECT count(score)
FROM nps_surveys
WHERE score IS NOT NULL
AND social = 0
AND date(completedon) >= last_day(CURRENT_DATE) + interval 1 day - interval 1 month)*100) - (
(
SELECT count(*)
FROM nps_surveys
WHERE score >=0
AND score <= 6
AND social = 0
AND date(completedon) >= last_day(CURRENT_DATE) + interval 1 day - interval 1 month)/
(
SELECT count(score)
FROM nps_surveys
WHERE score IS NOT NULL
AND social = 0
AND date(completedon) >= last_day(CURRENT_DATE) + interval 1 day - interval 1 month)*100)) nps;
私はYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'nps' at line 1
で実行しているときにエラーを得続けるが、それはありません唯一の違いはcast
機能なので意味がありません。私は上記の既知の作業クエリを私のpythonスクリプトに挿入してみました。cast
がなく、私にも吠えます。
を取得したいと考えています。 .. 'を閉じていないと、'あなたはSQL構文に誤りがあります。正しい構文については、MySQLサーバのバージョンに対応するマニュアルをチェックして、 'nps'を1行目近くで使用するようにしてください。 –
@JohnFそれは私のポイントです。あなたが 'cast(...')を使って関数呼び出しを実行していることを示しましたが、これはメッセージが示すように構文エラーです。 – EyuelDK
@EyueIDK '' nps); 'のような') 'を追加すると、それでもエラーが返されます。 –