Mysql 从一个表中检索两个xml结果的单个查询

Mysql 从一个表中检索两个xml结果的单个查询,mysql,xml,Mysql,Xml,我的SQL中有这个表。我需要一个查询来根据一个表中的“类类型”检索两个不同的XML结果 下面是我的预期结果 Table Class Firstname Lastname mark V John Lim 60 V Wills smith 80 VI Mark Bay 75 VI Carl mark 65 Result1 v 约翰

我的SQL中有这个表。我需要一个查询来根据一个表中的“类类型”检索两个不同的XML结果

下面是我的预期结果

Table
Class   Firstname   Lastname    mark
V       John        Lim         60
V       Wills       smith       80
VI      Mark        Bay         75
VI      Carl        mark        65
Result1
v
约翰
林
60
v
遗嘱
史密斯
80
结果2
不及物动词
做记号
海湾
75
不及物动词
卡尔
做记号
65

非常感谢

对于查询部件,使用UNION

Result1
<Studentslist>
<Students>
        <class>V</class>
        <Firstname>John</Firstname>
        <Lastname>Lim</Lastname>
        <mark>60</mark>
</Students>
<Students>
        <class>V</class>
        <Firstname>Wills</Firstname>
        <Lastname>smith</Lastname>
        <mark>80</mark>
</Students>
</Studentslist>

Result2
<Studentslist>
<Students>
        <class>VI</class>
        <Firstname>Mark</Firstname>
        <Lastname>Bay</Lastname>
        <mark>75</mark>
</Students>
<Students>
        <class>VI</class>
        <Firstname>Carl</Firstname>
        <Lastname>mark</Lastname>
        <mark>65</mark>
</Students>
<Studentslist>
编辑:使用光标

(SELECT class, firstname, lastname, mark from students where class='V')
UNION ALL
(SELECT class, firstname, lastname, mark from students where class='VI')

你好,谢谢你的回复。没有where条款,还有其他方法吗?这是因为我事先不知道类的类型。那么使用游标怎么样?编辑了答案。
DELIMITER | 
Drop procedure if exists `GetData`;
CREATE PROCEDURE `GetData`()


BEGIN


  DECLARE bDone INT;
  DECLARE var1 CHAR(16);   

  DECLARE curs CURSOR FOR  SELECT distinct(class) FROM students;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET bDone = 1;

  SET bDone = 0;

  DROP TEMPORARY TABLE IF EXISTS tblResults;
  CREATE TEMPORARY TABLE IF NOT EXISTS tblResults (
    class varchar(255),
    firstname varchar(255),
    lastname varchar(255),
    mark varchar(255)
  );

  OPEN curs;


  emp_loop: LOOP
    FETCH curs INTO var1;
     IF bDone=1 THEN       /* No more rows*/
              LEAVE emp_loop;
     END IF;

    INSERT INTO tblResults SELECT class, firstname, lastname, mark FROM `students` where class=var1;

  END LOOP emp_loop;

  CLOSE curs;
  SELECT * FROM tblResults;
END|
DELIMITER ;