为了账号安全,请及时绑定邮箱和手机立即绑定

SQL PHP查询多表数据

SQL PHP查询多表数据

PHP
天涯尽头无女友 2023-04-21 17:36:55
菜鸟警报在这里!我正在尝试从两个表中在我的 php 页面上显示一些数据,但我不知道该怎么做db_bandas TABLE  banda_id | banda_name    1    |  Rolling Beatles    2    |  Linkin Bizkitdb_albuns TABLE  album_id | album_name | banda_id | album_ano    1    |    Music   |    1     |  2000    2    |   another  |    2     |  2014    3    |  good one  |    1     |  2004我想在页面上显示的内容如下: 1  | Music    | Rolling Beatles | 2000  2  | another  | Linkin Bizkit   | 2014  3  | good one | Rolling Beatles | 2004我试过这样的查询$sql = "SELECT db_albuns.album_nome AS album_nome, db_albuns.album_id AS album_id, db_albuns.album_ano AS album.ano, db_banda.banda_nome AS banda_nome FROM db_albuns,db_banda";
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

您的表名应该是albums,列名应该是id, name, banda_id, ano。你的表名是专辑,所以我认为没有必要为每一列使用前缀“专辑”。


以及另一个表名应该是bandas和列名应该是id, name


你的查询应该是这样的


$sql = "SELECT albums.id, albums.name, bandas.name, albums.ano

        FROM albums JOIN bandas

        on albums.banda_id = bandas.id";


查看完整回答
反对 回复 2023-04-21
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您可以使用加入来做到这一点


$sql = "SELECT db_albuns.album_nome, 

db_albuns.album_id, db_albuns.album_ano, 

db_banda.banda_nome

FROM db_albuns join db_banda 

on  db_albuns.banda_id = db_banda.banda_id";


查看完整回答
反对 回复 2023-04-21
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

有几种不同的方法可以做到这一点,但我的首选是 LEFT JOIN。

$sql = "SELECT album_id, album_name, banda_name, album_ano
        FROM albuns LEFT JOIN bandas
        USING (banda_id)
        WHERE 1=1;

另一方面,在表前加上 db_ 有点令人困惑,因为那是表的名称,而不是数据库的名称。


查看完整回答
反对 回复 2023-04-21
  • 3 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信