sub*_*ero 0 php sql database join database-relations
首先,请原谅我糟糕的主题标题.我根本不知道如何制定这个问题或谷歌后面的内容,所以如果这是一个容易回答的问题,请不要开枪.
假设我有以下表格:
[作者] id,姓名
[NEWS] id,item,author_id
如果我想显示一个新闻项并输出相应的作者(存储在author_id中),我会做以下查询:
SELECT * FROM `news` JOIN `authors` ON news.author_id = authors.id
Run Code Online (Sandbox Code Playgroud)
然后通过做这样的事情输出它
$Q = "SELECT * FROM news JOIN authors ON news.author_id=news.id";
$query = $this->lite->query($Q) or die($this->lite->error);
$result=null; while($obj = $query->fetch_object()){
$result.= '<li>'.$obj->item. 'by ' . $obj->name . '</li>';
}
Run Code Online (Sandbox Code Playgroud)
这里,$ obj-> name将包含作者的名称并将成功输出.
那么,如果"名称"字段被称为"项目",会发生什么?显然会有一些冲突.根据我之前在Propel和symfony的经验,我会做这样的事情:getAuthorId() - > getName() - 但对于这个项目,我需要从头开始编写SQL.
切勿*在生产代码中使用语法.
重写您的查询,如下所示:
SELECT news.item AS news_item, author.name AS author_name
FROM `news`
JOIN `authors`
ON news.author_id = authors.id
Run Code Online (Sandbox Code Playgroud)
,根据需要对字段进行别名以避免命名冲突.