gpt4 book ai didi

mysql - 在 mysql 查询中使用来自 5 个不同表的数据

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

我需要一些关于执行多个连接的帮助,我不太擅长这件事,需要一种方法来让它工作。

有5个表有数据,需要从每个表中获取数据输出。有一个人、访问、中心、日期和已见表。访问表具有用于从其他表获取数据的 ID。我想使用此表来获取此人的状态,查看他们访问的日期、在哪个中心、他们的姓名以及谁见过他们。 (我希望这是有道理的)。

输出应该如下所示:

> Person FirstName
> Person LastName
> Seen By
> Date
> Center
> Status

编辑//这是我想看到的模型mockup

我已经阅读了数据透视表,但不想使用它。我在这里创建了一个 SQL fiddle : http://www.sqlfiddle.com/#!2/d19d2c

编辑//我已经成功编写了一半的查询,但我怀疑它是否有效,但我想它是一个起点。

SELECT d.date
, p.Firstname
, p.Lastname
, c.centername
, v.status
, s.FirstName
, s.LastName
FROM visit v
LEFT
JOIN date d
ON v.dateID = d.id
LEFT
JOIN centerName c
ON c.centerID = c.id

谢谢!

最佳答案

从您的表结构来看,您似乎想要这样的查询:

SELECT 
d.date,
CONCAT_WS(' ', p.Firstname ,p.Lastname) AS "Person",
v.status,
CONCAT_WS(' ', s.FirstName, s.LastName) AS "Seenby",
c.centername

FROM visit v
JOIN person p ON v.PersonID = p.ID
JOIN seenby s ON v.seenbyID = s.ID
LEFT JOIN date d ON v.dateID = d.id
LEFT JOIN center c ON v.centerID = c.id

最后两个连接可能应该是普通的内连接而不是左连接,请酌情调整。

CONCAT_WS()函数使用第一个参数的值作为分隔符(本例中为空格)将其参数连接成一个字符串。

Sample SQL Fiddle

关于mysql - 在 mysql 查询中使用来自 5 个不同表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27342550/

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