2017-07-04 39 views
0

から行の数を見つける必要がありこんにちは、私は私の下のクエリから行数を取得しようとしました:は私のPostgreSQLのクエリ

 select count(substring(wsresult_question FROM '[0-9]+') as pumporder) AS totals, 
      job_id, 
      job_siteid, 
      job_completed 
      from webserviceresults w, jobs s 
      where job_siteid = '1401' 
      and job_id = wsresult_jobid 
      and job_completed is not null 
      and wsresult_question LIKE 'job.job_site_data.site_meters.pump.%' 
      and wsresult_category = 'Job' 
      group by pumporder,job_id,job_siteid,job_completed order by job_completed desc 

私はこれを試してみましたが、私は

There was an SQL error: 
ERROR: syntax error at or near "as" LINE 1: ... count(substring(wsresult_question FROM '[0-9]+') as pumpord...^
のようなエラーが発生しました

この行にsubstring(wsresult_question FROM '[0-9]+') as pumporder私はちょうどいくつかの連結文字列から番号を取得するのに疲れました。 CONCATENATE列は

1.job.job_site_data.site_meters.pump.0.meter_calibration_record.meter_adjustedtofast

2.job.job_site_data.site_meters.pump.0.meter_calibration_record.meter_adjustedtoslow

ようにされています

3.job.job_site_data.site_meters.pump.1.meter_calibration_record.meter_adjustedtofastのでsubstring(wsresult_question FROM '[0-9]+') as pumporder配列内の0,1のような数字を返すです。私は今行の数を合計する必要があります。だから親切に私にこれを手伝ってください。

ご質問がある場合はお知らせください。

ありがとうございます!列だけのために、あなたはcount(substring(wsresult_question FROM '[0-9]+') as pumporder)からas pumporderを削除するので、もし、エラーがあなたのアプローチはいえ非常に疑問である離れ

行きます -

答えて

1

あなたのエラーは、関数のエイリアスを作成してはならないことを意味します。あなたはsubstring(wsresult_question FROM '[0-9]+')と行の数をカウントしたい場合は、より良い代わりにあなた:

select count(1) AS totals, 
     job_id, 
     job_siteid, 
     job_completed 
     from webserviceresults w, jobs s 
     where job_siteid = '1401' 
     and job_id = wsresult_jobid 
     and job_completed is not null 
     and wsresult_question ~ '^(job.job_site_data.site_meters.pump.)[0-9]' 
     and wsresult_category = 'Job' 
     group by pumporder,job_id,job_siteid,job_completed order by job_completed desc 

最後に文字列job.job_site_data.site_meters.pump.0は、JSON形式のパスのように見えるので、それはJSON配列の長さの機能を使用して、より適切であろう、行

にはカウントされませ
関連する問題