菜鸟警报在这里!我正在尝试从两个表中在我的 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";
蝴蝶不菲
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";
素胚勾勒不出你
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_ 有点令人困惑,因为那是表的名称,而不是数据库的名称。
- 3 回答
- 0 关注
- 125 浏览
添加回答
举报
0/150
提交
取消