我有2张桌子,想要得到下图所示的结果。 请帮我解决这个问题。
请参见下面的两个表格
(1)表格:society_block
True
(2)表格:society_flat
Fields: id,block_name
Fields: id,block_id,flat_no,owner_name
CREATE TABLE `society_block` (
`id` int(11) NOT NULL,
`block_name` tinytext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `society_block` (`id`, `block_name`) VALUES
(1, 'A'),
(2, 'B'),
(3, 'C');
答案 0 :(得分:0)
我们无法使用单个查询获得输出。
您可以使用下面的查询来获取统一编号明智的所有者名称以及块ID。
从society_flat
组中按flat_no顺序按flat_no顺序选择flat_no,GROUP_CONCAT(concat_ws(“ =>”,block_id,owner_name))
对于演示时间,您必须获取块并将其放入外部循环中,然后在内部循环中执行上面的查询,并且可以使用具有block_id和owner_name concat的列与“ =>”并仅显示那些与运行block_id的外循环匹配的所有者名称。