首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将3表内连接

问如何将3表内连接
EN

Stack Overflow用户
提问于 2015-05-29 07:23:03
回答 1查看 48关注 0票数 0

如何连接三个表,我有三个表,分别是buku、sedia和perpus,buku有属性idbuku、namapengarang、namabuku、penerbit、流派,而tahunterbit.perpus有idperpus、namaperpus和alamat.and sedia有stok、idperpus和idbuku属性,我想问的是我试图用语法将3表内部连接起来。

代码语言:javascript
复制
select * from buku inner join sedia where buku.idbuku =sedia.idbuku;

很管用,但当我尝试

代码语言:javascript
复制
select * from buku inner join sedia where buku.idbuku =sedia.idbuku inner join perpus where sedia.idperpus = perpus.idperpus;

代码是错误的,它说警告: mysql_fetch_array()期望参数1是资源,在第64行中给出布尔值。

有人能告诉我该怎么做吗?

它是我的php代码,仍然不能正常工作。

代码语言:javascript
复制
<?php
                include "koneksi.php";

                        $cari=$_POST["cari"];
                        $rbut=$_POST["rbut"];

                    if (isset($cari)||isset($rbut)){
                        $sql = "select * from buku where $rbut like '%$cari%'inner join sedia on buku.IDbuku = sedia.IDbuku inner join perpus on sedia.IDperpus = perpus.IDperpus;";
                        $result = mysql_query($sql);
                    }
                    elseif(!isset($cari)||!isset($rbut)){
                        $cari=$_POST["cari"];
                        $rbut=$_POST["rbut"];
                        $sql = "select * from buku";
                        $result = mysql_query($sql);
                    }
                    echo "
                        <table border='1'><tr><th>ID</th><th>Nama Pengarang</th><th>Nama Buku</th><th>Penerbit</th><th>Genre</th><th>Tahun Terbit</th></tr>";

                    while($row=mysql_fetch_array($result)){
                        echo "
                        <tr>
                            <td>$row[IDbuku]</td>
                            <td>$row[NamaPengarang]</td>
                            <td>$row[NamaBuku]</td>
                            <td>$row[Penerbit]</td>
                            <td>$row[Genre]</td>
                            <td>$row[TahunTerbit]</td>
                        </tr>";
                    }
                    echo "
                        </table>";
                ?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-29 07:26:22

您的where条件必须是on

代码语言:javascript
复制
select * 
from buku 
inner join sedia on buku.idbuku =sedia.idbuku 
inner join perpus on sedia.idperpus = perpus.idperpus;

有关联接语法的更多信息,请参见文档。

**更新**您的新查询是错误的:

代码语言:javascript
复制
$sql = "select * from buku inner join sedia on buku.IDbuku = sedia.IDbuku inner join perpus on sedia.IDperpus = perpus.IDperpus where $rbut like '%$cari%'";

如果您阅读文档,您将看到where语句必须在joun语句之后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30523550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档