繁体   English   中英

如何使用Mysql Query实现以下结果集

[英]How to achieve below result set using Mysql Query

我有2张桌子,想要得到下图所示的结果。 请帮助我。

见下面两张表

(1)表:society_block

Fields: id,block_name

(2)表:social_flat

Fields: id,block_id,flat_no,owner_name

想要得到如下结果 在此处输入图片说明

请参阅下面的示例数据Mysql查询

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');

CREATE TABLE `society_flat` (
  `id` int(11) NOT NULL,
  `block_id` int(11) NOT NULL,
  `flat_no` int(5) NOT NULL,
  `owner_name` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `society_flat` (`id`, `block_id`, `flat_no`, `owner_name`) VALUES
(1, 1, 101, 'Mahavir'),
(2, 1, 102, 'Pankaj'),
(3, 2, 101, 'Krunal'),
(4, 2, 102, 'Sanjay'),
(7, 1, 103, 'Dipak '),
(9, 2, 103, 'Dipak p'),
(11, 1, 104, 'Pankaj'),
(12, 1, 201, 'Pravin bhai'),
(13, 1, 204, 'mandip'),
(14, 1, 203, 'Banti'),
(16, 2, 104, 'Bhavesh bhai'),
(17, 1, 202, 'Rakesh');

我们无法使用单个查询来实现输出。

您可以使用下面的查询来获取统一编号明智的所有者名称以及块ID。

SELECT flat_no,GROUP_CONCAT(concat_ws(“ =>”,block_id,owner_name))从society_flat分组,按flat_no排序,由flat_no排序

对于演示时间,您必须获取块并将其放入外部循环中,然后在内部循环中执行上面的查询,然后可以使用具有block_id和owner_name concat与“ =>”的列,并仅显示那些所有者名称与运行block_id的外循环匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM