表1:
QUERY:创建表客户端(applicationNo int primary key, name varchar(20));
插入语句:插入客户值(1,'XYZ'),(1,'ABC'),(1,'DEF');
申请号 | 姓名 1 | XYZ 2 | 美国广播公司 3 | 国防军
表2:
查询:创建表客户端(applicationNo int,phoneNo Bigint,外键(applicationNo)引用客户端(applicationNo),主键(applicationNO,phoneNo));
插入 phoneNO 值 (1,999999),(1,888888),(2,777777),(3,666666),(3,555555);
申请号 | 电话号码 1 | 999999 1 | 888888 2 | 777777 3 | 666666 3 | 555555
我可以通过以得到以下输出的方式加入两个表来检索元组,但是使用单个查询,我也在使用 mysql 5.1
申请号 | 姓名 | 电话号码1 | 电话No2 1 | XYZ | 999999 | 88888 2 | 美国广播公司 | 77777 | 空值 3 | 防御工事 | 66666 | 555555
已编辑:额外信息
我尝试使用这种称为交叉表的东西。但我无法在 case 语句中使用 totalPhoneNo
选择 applicationNo,count(phoneNo) 作为 totalPhoneNo, SUM(CASE WHEN totalPhoneNo= 1 THEN phoneNO ELSE Null END) AS phoneNo1, SUM(CASE WHEN totalPhoneNO = 2 THEN phoneNo ELSE Null END) AS phoneNo2 FROM phoneNO GROUP BY applicationNo;