gpt4 book ai didi

mysql - 如何获取两个数据库行的结果并将它们压缩成一行?

转载 作者:行者123 更新时间:2023-11-29 05:46:20 26 4
gpt4 key购买 nike

我有一个 mysql 数据库查询,我想将其压缩成一行。输出当前是两行,并且只会是两行。我首先得到两行的原因是因为总会有一个主要电话号码和一个次要电话号码与我的结果相关联。

由于除了电话类型 (ptype) 和第二个电话号码外,两行的所有数据都完全相同,因此我只想获取这两列并将它们附加到第一行。

我知道这是可以做到的,但我不记得该怎么做。

这是我使用的代码:

SELECT
c.name,
c.address1,
p.ptype,
p.phone
FROM
customer AS c
Inner Join customeremp AS e ON c.customer_id = e.customer_id
Inner Join customerphone AS p ON e.customer_seq = p.customer_seq
WHERE
c.customer_id = '1'

最佳答案

您需要在电话表上创建 2 个连接

 SELECTc.name,
c.address1,
p.ptype,
p.phone,
p2.ptype,
p2.phone,
FROMcustomer AS cInner
Join customeremp AS e ON c.customer_id = e.customer_idInner
Join customerphone AS p ON e.customer_seq = p.customer_seq and p.pType = 1 (or whatever private means)
Join customerphone AS p2 ON e.customer_seq = p2.customer_seq and p2.pType = 2 (or whatever the other type is)
WHEREc.customer_id = '1'

编辑:此查询将仅返回已设置两种电话类型的客户。如果它们是可选的,那么您应该考虑将连接更改为外部连接

关于mysql - 如何获取两个数据库行的结果并将它们压缩成一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1416310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com