检索MYSQL从PHP加入值
问题描述:
我有两个或多个表保存在同一列名下的值。现在,当我加入这两个表时,列名保持不变。当以PHP($ row ['name'])检索这些值时,我遇到了问题,因为列'name'被使用了两次。检索MYSQL从PHP加入值
是否有任何可能的方法来分隔查询内的这两列?
SELECT *
FROM stories s
JOIN authors a ON a.id = s.authorid
表故事 ID,名称,内容,日期
表作者 ID,姓名,日期
当我加入这两个我得到一个表具有类似的“名称”列。
无论如何分开这两个表,所以作者表前面有一个前缀?例如。 authors_name/authors_ *
答
是的,改变你的SQL是这样的:
SELECT
s.Id as StoryId,
s.Name as StoryName,
a.Id as AuthorId,
a.Name as AthorName,
FROM stories s
JOIN authors a ON a.id = s.authorid
然后在PHP中,使用StoryId,StoryName,AUTHORID和AthorName而不是ID或名称。
希望它可以帮助你。
答
是的!
SELECT *, stories.name AS s_name, authors.name AS a_name
FROM stories s
JOIN authors a ON a.id = s.authorid
而且你有它。所有领域加上两个额外! ;)
希望它有帮助。
+0
谢谢!我感谢你的回复。因为我是SO的新手,所以我会单独给所有人添加感谢信。 – SyntaxError 2009-11-03 11:09:14
答
抱歉,您不能真的前缀在现场级,但如果你可以调用2个查询,只需使用
SELECT s.*
FROM stories s
JOIN authors a ON a.id = s.authorid
结果集将只包含故事字段,你可以使用的字段,你通常会用php。然后,再为作者做同样的事情。
谢谢,这应该做的伎俩,但我希望我可以添加一个前缀,会自动添加像authors_ * – SyntaxError 2009-11-03 11:07:44
东西不幸它看起来像没有自动前缀。如果这个答案没问题,不要忘记'接受'它:p – 2009-11-03 11:11:08