1. Preface
The condition is used as the result. There are N numbers that are not fixed. How to query them all at once? Otherwise, the query efficiency will be low.
SELECT IF(phoneNumber !='' , phoneNumber , NULL) as phoneNumber, IFNULL(operator , NULL) as operator
FROM (
(SELECT
(SELECT '') as phoneNumber,
(SELECT operator FROM ct_segment_number_info WHERE segment_number = SUBSTRING('', 1, 7)) as operator)
UNION ALL
(SELECT
(SELECT '150') as phoneNumber,
(SELECT operator FROM ct_segment_number_info WHERE segment_number = SUBSTRING('150', 1, 7)) as operator)
UNION ALL
(SELECT
(SELECT '13696025385') as phoneNumber,
(SELECT operator FROM ct_segment_number_info WHERE segment_number = SUBSTRING('13696025385', 1, 7)) as operator)
UNION ALL
(SELECT
(SELECT '13016749117') as phoneNumber,
(SELECT operator FROM ct_segment_number_info WHERE segment_number = SUBSTRING('13016749117', 1, 7)) as operator)
) AS phoneNumbers ;
The query result looks like this, how to write XML
2.XML writing method
Test class
The key to writing xml is to use xml foreach to splice strings and use union all as character splicing
The result is perfect