SQL: Crie um registro completo a partir de 2 tabelas

Eu tenho uma estrutura de banco de dados como está (simplificada ao máximo para entender a preocupação):

Table "entry" ("id" integer primary key)
Table "fields" ("name" varchar primary key, and others)
Table "entry_fields" ("entryid" integer primary key, "name" varchar primary key, "value")

Eu gostaria de obter, para um dado "entry.id", os detalhes dessa entrada, ie. todos os "campos_de_ entrada" vinculados a esta entrada, em uma única consulta SQL.

Um exemplo seria melhor, talvez:

"Campos":

"result"
"output"
"code"
"command"

"entrada" contém:

id : 842
id : 850

"entry_fields" contém:

entryid : 842, name : "result", value : "ok"
entryid : 842, name : "output", value : "this is an output"
entryid : 842, name : "code", value : "42"
entryid : 850, name : "result", value : "ko"
entryid : 850, name : "command", value : "print ko"

A saída desejada seria:

| id  | command    | output               | code | result |
| 842 | NULL       | "this is an output"  | 42   | ok     |
| 850 | "print ko" | NULL                 | NULL | ko     |

O objetivo é poder adicionar um "campo" sem alterar nada na estrutura da tabela "entrada"

Eu tentei algo como:

SELECT e.*, (SELECT name FROM fields) FROM entry AS e

mas o Postgres reclama:

ERRO: mais de uma linha retornada por uma subconsulta usada como expressão

Espero que alguém possa me ajudar!

questionAnswers(3)

yourAnswerToTheQuestion