Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL:压缩到PostgreSQL中的原始查询_Postgresql_Sequelize.js - Fatal编程技术网

PostgreSQL:压缩到PostgreSQL中的原始查询

PostgreSQL:压缩到PostgreSQL中的原始查询,postgresql,sequelize.js,Postgresql,Sequelize.js,我正在尝试将以下Sequelize转换为原始PostgreSQL查询: db.User.findOne({ where: { id: 10003 }, include: [{ model: db.Diet, required: false, as: 'diets', // an array }, { model: db.Spice, required: false,

我正在尝试将以下
Sequelize
转换为原始
PostgreSQL
查询:

db.User.findOne({
    where: {
        id: 10003
    },
    include: [{
        model: db.Diet,
        required: false,
        as: 'diets', // an array
    }, {
        model: db.Spice,
        required: false,
        as: 'spice_level',
    }]
}).then((user) => { ... }
以下是原始查询:

BEGIN;
DROP TABLE IF EXISTS temp_diet_table;
CREATE
TEMPORARY TABLE temp_diet_table ON
COMMIT
DROP AS
SELECT d.id,
       d.name,
       d.desc,
       d.type,
       d."createdAt",
       d."updatedAt",
       d.status,
       d.user_id
FROM diet d
WHERE d.user_id = 10003;

  (SELECT json_build_object ('id', u.ID, 'username', u.username, 'first_name', u.first_name, 'last_name', u.last_name, 'createdAt', u."createdAt", 'updatedAt', u."updatedAt", 'spice_level', json_build_object ('id', sp.ID, 'level', sp.LEVEL, 'updatedAt', sp."updatedAt", 'createdAt', sp."createdAt"), 'color', A.color, 'diets', COALESCE (
                                                                                                                                                                                                                                                                                                                                                   (SELECT json_agg (json_build_object ('id', d.ID, 'name', d.NAME, 'desc', d.DESC, 'type', d.TYPE, 'createdAt', d."createdAt", 'updatedAt', d."updatedAt", 'status', d.status))
                                                                                                                                                                                                                                                                                                                                                    FROM temp_diet_guest_table d
                                                                                                                                                                                                                                                                                                                                                    WHERE d.user_id = u.ID ), json_build_array ()))
   FROM "user" u
   INNER JOIN app_common A ON A.owner_id = u. ID
   LEFT JOIN Spice sp ON sp.owner_id = u.ID
   WHERE u.ID = r.user_id ))));  COMMIT;
我得到以下错误:

ERROR:  current transaction is aborted, commands ignored until end of transaction block
, Time: 0.082000s

我不熟悉
PostgreSQL
raw查询。我做错了什么?

这不是一个查询,而是多个语句。Postgres是否支持在线连接?你能改为单独运行每条语句吗?是的。我有类似的查询,目前正在运行。您确定每个部分都正常运行吗?该语句可能有语法错误。您可以尝试将长而复杂的查询替换为
在提交时创建临时表x作为SELECT 1
或一些非常小的值。因为存在
开始
提交
。测试每一个的好方法是什么?我会使用
psql
命令行,但是任何类似的方法都可以。在将所有组件集成到这个怪物中之前,您需要验证每个组件是否有效。这不是一个查询,而是多个语句。Postgres是否支持在线连接?你能改为单独运行每条语句吗?是的。我有类似的查询,目前正在运行。您确定每个部分都正常运行吗?该语句可能有语法错误。您可以尝试将长而复杂的查询替换为
在提交时创建临时表x作为SELECT 1
或一些非常小的值。因为存在
开始
提交
。测试每一个的好方法是什么?我会使用
psql
命令行,但是任何类似的方法都可以。在将所有组件集成到此怪物之前,您需要验证每个组件是否有效。