Postgresql 在postgres中的表中显示具有多个值的记录
期望输出-Postgresql 在postgres中的表中显示具有多个值的记录,postgresql,insertion,Postgresql,Insertion,期望输出- Emp_name|Hobbies|age|DOB ______________________________ LOPEZ |Football , Swimming , Fishing |19| 1999-05-11 在这个问题中,嗜好栏中有多条记录是逗号分隔的,但我希望在一行中(垂直)。 爱好的所有记录都应该是一条记录,就像一条记录中的多个值一样。 和,一行中的最后一个显示 请帮助我创建一个表以及在postgres DB中插入和获取记录的方法。因此,我们希望将您的“
Emp_name|Hobbies|age|DOB
______________________________
LOPEZ |Football , Swimming , Fishing |19| 1999-05-11
在这个问题中,嗜好栏中有多条记录是逗号分隔的,但我希望在一行中(垂直)。
爱好的所有记录都应该是一条记录,就像一条记录中的多个值一样。
和,一行中的最后一个显示
请帮助我创建一个表以及在postgres DB中插入和获取记录的方法。因此,我们希望将您的“爱好”字符串重新格式化为数组。您可以使用ARRAY_AGG()函数:
CREATE TABLE new_hobbies AS
SELECT
name
, age
, DOB
, ARRAY_AGG(hobbies) AS hobbies
FROM table
GROUP BY
name
, age
, dob
但是,是的,我同意sticky bit的回答,这张表的标准化将是一个好主意。以及没有年龄值-以避免更新问题 我不建议使用逗号分隔的列表(也不建议使用数组(提示!))。有一个persons表、一个嗜好表和另一个将嗜好链接到某人的表。此外,年龄不应存储在persons表中,因为它显然取决于生日和当前时间。但除此之外:到目前为止你得到了什么?到目前为止你所拥有的到底有什么问题。请相应地编辑您的问题。因此,您可以帮助我创建这样一个表,并按照我解释的类似方式获取记录。所有爱好的价值观应该放在一起。我想要的结果不是那么复杂。爱好有多重价值。如何将其插入和取出。因此,您能否帮助我创建一个这样的表,并以与我解释的类似的方式取出记录。所有爱好的价值观应该放在一起。我想要的结果不是那么复杂。爱好有多重价值。如何插入和获取它。你能帮我在新表中插入一些值吗?如何在数组列中插入值?非常感谢Rupert。我得到了预期的结果。如果您能帮助我将输出表示为以下内容,我将非常有帮助:-`name | age | dob | cabiods--------------------------------------------------------------------------------------------------------------------++---------------------------------------------+------------------------------------------------------Rocky| 27 | 1991-04-17 |钓鱼| | | | | | | | | | | | | | | | | | | | | | | | |。你能帮我吗@鲁伯特