Как я могу получить счет из этого встроенного представления? - PullRequest
0 голосов
/ 08 октября 2019

Я обращаюсь к Actian Pervasive DB с помощью PSQL Control Center (v12) и пытаюсь получить счетчик из очень простого встроенного представления, используя следующий запрос:

SELECT COUNT(*)
FROM (
SELECT t3.customerid,
       t3.logchannels,
       COUNT(*)
  FROM table1 t1,
       table2 t2,
       table3 t3
 WHERE t2.id = t1.id
   AND t3.customerid = t1.customerid
GROUP BY t3.customerid,
         t3.logchannels
HAVING COUNT(*) <> t3.logchannels
)

Внутренний запрос выполняетсяхорошо, но как только он превращается во встроенное представление и добавляется внешний SELECT, он возвращает синтаксическую ошибку. В сообщении об ошибке вообще нет никакой дополнительной информации, оно просто говорит «Синтаксическая ошибка» и затем воспроизводит запрос.

Затем я попытался создать таблицу, используя приведенный выше запрос, думая, что мог бы просто получитьсчитайте от этого, однако этот запрос также возвращает синтаксическую ошибку:

CREATE TABLE tmp_inv_channels AS
SELECT cm.customerid,
cm.logchannels,
COUNT(*)
FROM mmmastst mm,
rmmastst rm,
cmmastst cm
WHERE rm.recorderid = mm.recorderid
AND cm.customerid = mm.customerid
GROUP BY cm.customerid,
cm.logchannels
HAVING COUNT(*) <> cm.logchannels

Как вы, вероятно, можете сказать, я никогда раньше не использовал Actian Pervasive (я из Oracle), и, несмотря на большое количество Google, я все еще продолжаюне знаю, что я делаю не такКто-нибудь может помочь? Предположительно это что-то действительно глупое!

...