首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询6个无法从主表回送信息的表

查询6个无法从主表回送信息的表
EN

Stack Overflow用户
提问于 2011-08-17 21:27:31
回答 1查看 45关注 0票数 1

我试图在mysql数据库中查询6个单独的表,结构如下;

代码语言:javascript
复制
item
itemitemid | item | description | brand | date | time | path |

actor
actoractorid | name | actorthumb | bio |

brand
brandbrandid | brandname | description | image |

movie
moviemovieid | title | genre | year | moviethumb | synopsis|

users
userid | name | surname | email | password |

request
requestid | userid | itemid | brandid | movieid | actorid | content | requestdate |

使用下面的查询,我可以显示例如,我可以在请求中看到电影的requestid=1、电影中的演员、他们所穿的衣服的项目以及它的品牌。

代码语言:javascript
复制
$requestid = mysql_real_escape_string($_GET['requestid']);
        $query = "select r.requestid, m.*, a.*, i.*, b.* 
        FROM request r INNER JOIN movie m ON m.movieid = r.movieid 
        INNER JOIN actor a ON a.actorid = r.actorid 
        INNER JOIN item i ON i.itemid = r.itemid 
        INNER JOIN brand b ON b.brandid = r.brandid 
        WHERE r.requestid = $requestid";

但是,当我试图从请求表中回显“内容”和“请求日期”时。数据根本不出现。我也无法从user表获取信息,例如用户通过添加以下联接来记录请求;$query =“选择r.requestid,m.,a.,i,b.,u.* u.userid = r.userid上的内部连接用户u”

请指点?

EN

回答 1

Stack Overflow用户

发布于 2011-08-17 21:33:43

你不是SELECT在那些领域。现在,您只需要从SELECT表中提取r.requestid。您需要添加对要回显的每个字段的引用。

至于用户加入,您似乎只是加入了错误的领域。您需要加入u.userid = r.userid。现在,您正在加入不存在的u.itemid。您还需要更改SELECT语句以报告所需的字段(例如,SELECT ... , u.name, u.email)。

顺便提一下,在可能的情况下,您应该避免SELECTing table.*。当您将字段添加到表中时,这可能会导致中断,但在处理查询结果时不考虑此问题。您应该尽量显式化,并且只对想要使用的字段进行SELECT -例如,SELECT users.name, users.email而不是执行SELECT users.*

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

https://stackoverflow.com/questions/7099715

复制
相关文章

相似问题

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