0
我有2个表:加入2个表有相同的字段名称
authors
+-----------+--------------+------+-----+
| Field | Type | Null | Key |
+-----------+--------------+------+-----+
| id | int(6) | NO | PRI |
| name | varchar(255) | NO | |
| age | varchar(255) | NO | |
+-----------+--------------+------+-----+
books
+-----------+--------------+------+-----+
| Field | Type | Null | Key |
+-----------+--------------+------+-----+
| id | int(6) | NO | PRI |
| name | varchar(255) | NO | |
| pub_date | datetime | NO | |
| author_id | int(11) | YES | MUL |
+-----------+--------------+------+-----+
我想获得他最后写的图书信息作者信息。 东西会看起来像:
{
name:"Tolkien",
age:null,
last_book:{
name:"The Children of Hurin",
pub_date:"2007"
}
}
现在我正在做这样的说法:
Select Aut.name, Aut.age, Book.name AS Book_name, Book.pub_date
FROM authors AS Aut
LEFT JOIN books AS Book ON (Aut.id=Book.author_id)
WHERE Aut.name="Tolkien"
ORDER BY Book.pub_date DESC
LIMIT 1
这意味着,我必须处理的结果,然后责令其拥有的JSON我先前显示。
所以...什么这个问题? – vivoconunxino
您是否在寻找一种将MySQL结果集作为JSON字符串返回的方法?这通常在处理结果集的代码中完成。 –
有没有办法做到没有后处理?如果我有更多的字段,查询会变得更大,因为我必须重命名所有相同的字段。 – johnmalkovitch