![]() | 1 123123 2013-04-18 21:33:30 +08:00 ![]() 能否大概提供一下你所写的SQL,如果没有加类似 TOP 1 或 LIMIT 1 并且符合条件的数据不止一条的话,那么只返回一行是很神奇的情况 |
![]() | 2 yhy2008 2013-04-18 21:40:46 +08:00 ![]() SELECT FROM item LEFT JOIN info WHERE info.item_id = item.id 如果我没理解错应该是这样 |
3 sayori OP @123123 : SELECT * FROM item LEFT JOIN `info` ON `info`.`item_id` = `item`.`id` WHERE `item`.`status` = '1' ORDER BY `item`.`id` DESC LIMIT 16 |
4 xhinking 2013-04-18 22:03:08 +08:00 表中的测试数据有多少条? |
7 sayori OP @123123 悲剧,我再试了下发现确实返回多行。但每行一样ITEM数据都一样,不同的是info字段。这不是我想要的... 我想的是 比如用数组生成记录集时,有一个元素里是INFO的内容(当然这个元素的值也是数组..) 越搞越乱了....不管怎样先感谢各位。 |
![]() | 8 123123 2013-04-18 22:45:28 +08:00 @sayori 没错,依照你的写法就是这样的返回值。如果你只想要 INFO 表的字段,那么 SELECT 后不要用 *,用 INFO.* |
![]() | 9 yhy2008 2013-04-19 09:59:23 +08:00 @sayori 不好意思写错了是用ON 是不是因为WHERE后的限定条件,如果item.status=1是唯一的话,它只会返回item一样的数据 |
![]() | 10 Cadina 2013-04-19 17:03:09 +08:00 最反感字段前面还要加表名了 |
![]() | 12 Narcissu5 2013-04-19 18:28:23 +08:00 提醒下楼主,数据库求助一般是把表的create 脚本放出来,比你的描述会给力得多。 |