gpt4 book ai didi

php - 连接/显示具有相同列名的多个表

转载 作者:行者123 更新时间:2023-11-29 06:55:08 27 4
gpt4 key购买 nike

我想做的是设置一个从数据库调用的查询(特别是 Chinook 数据库 - http://chinookdatabase.codeplex.com/)

现在,为了正确显示查询输出,我需要连接多个表 - 每个表共享相似的列名。对于 Chinook 数据库,有多个表(艺术家、专辑、流派、媒体类型、轨道等)。假设我正在尝试显示艺术家姓名的内容:

public function fetchArtistName(){
return $row['Name'];
}

这是非常不明确的,因为这一行会先找到媒体类型或专辑名称的名称字段,然后再找到艺术家姓名。

我的SQL语句如下:

SELECT *  
FROM track AS t
LEFT JOIN album al
ON t.AlbumId = al.AlbumId
LEFT JOIN artist ar ON al.ArtistId = ar.ArtistId
LEFT JOIN mediatype m ON t.MediaTypeId = m.MediaTypeId
LIMIT 0,15;

有没有一种方法可以将输出的表更改为| t.姓名 |人名 | ar.名称 |米名|

这样我基本上可以更轻松地调用它们

public function fetchArtistName(){
return $row['ar.Name'];
}

我已经很久没有玩 SQL 了,我真的卡住了。如果有任何帮助,我将不胜感激,我已经在此处进行了 Google 搜索。

谢谢。

最佳答案

我不确定您是否可以使用 SELECT *... 执行此操作。您需要执行以下操作:

SELECT t.Name as track_name,
al.Name as album_name, ar.Name as artist_name, m.Name as media_name
FROM track AS t
LEFT JOIN album al
ON t.AlbumId = al.AlbumId
LEFT JOIN artist ar ON al.ArtistId = ar.ArtistId
LEFT JOIN mediatype m ON t.MediaTypeId = m.MediaTypeId
LIMIT 0,15;

...例如您的 PHP 函数定义为

public function fetchArtistName(){
return $row['artist_name'];
}

关于php - 连接/显示具有相同列名的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13214465/

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