四张表
需要显示的结果
PVG-FRA-GVA-FRA-PVG       
PVG-FRA-GVA-FRA-PVG         
PVG-FRA-GVA-FRA-PVG            
PVG-FRA-GVA/LGA-DTW-PVG         
PVG-FRA-GVA/LGA-DTW-PVG        
PVG-FRA-GVA/LGA-DTW-PVG   
主要是这个地方的处理 不知道怎么做了! 
mysql数据库代码!!!SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `dmaudit`
-- ----------------------------
DROP TABLE IF EXISTS `dmaudit`;
CREATE TABLE `dmaudit` (
  `DMAuid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'PK,自动加1',
  `foNo` varchar(16) NOT NULL COMMENT '外键订单号:flyOrder表',
  `company` varchar(5) NOT NULL COMMENT '那个公司的(公司简码)',
  `DMUser` varchar(10) DEFAULT NULL COMMENT '东美出票审核人',
  `isAudit` varchar(2) NOT NULL COMMENT '是否审核(0 待审核,1 已完成,2已取消)',
  `addDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `DMcontent` varchar(1000) DEFAULT NULL COMMENT '东美出票审核意见',
  `DMDate` varchar(20) DEFAULT NULL COMMENT '东美出票审核时间',
  PRIMARY KEY (`DMAuid`),
  KEY `fk_dmaudit_flyOrder` (`foNo`),
  CONSTRAINT `fk_dmaudit_flyOrder` FOREIGN KEY (`foNo`) REFERENCES `flyorder` (`foNo`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;-- ----------------------------
-- Records of dmaudit
-- ----------------------------
INSERT INTO `dmaudit` VALUES ('1', '10000001', 'JH', 'Ada', '1', '2010-08-17 10:40:49', '来了', '2010-08-17 10:40:49');
INSERT INTO `dmaudit` VALUES ('2', '10000002', 'JH', 'Ada', '1', '2010-08-17 17:08:54', 'ok', '2010-08-17 17:08:54');-- ----------------------------
-- Table structure for `flyorder`
-- ----------------------------
DROP TABLE IF EXISTS `flyorder`;
CREATE TABLE `flyorder` (
  `foNo` varchar(16) NOT NULL COMMENT '订单号主键',
  `foUname` int(11) NOT NULL COMMENT '订单人(当前登录人)外键',
  `foBegintime` datetime DEFAULT NULL COMMENT '订单日期',
  `fosftype` int(11) NOT NULL COMMENT '差旅申请类型(1:国内,2:国际)',
  `foCostCenterN` varchar(20) NOT NULL COMMENT '承担费用的成本中心',
  `company` varchar(5) NOT NULL COMMENT '那个公司的(公司简码)',
  PRIMARY KEY (`foNo`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;-- ----------------------------
-- Records of flyorder
-- ----------------------------
INSERT INTO `flyorder` VALUES ('10000000', '6', '2010-08-15 00:00:00', '1', '123321','JH');
INSERT INTO `flyorder` VALUES ('10000001', '6', '2010-08-15 00:00:00', '1', '123321','JH');
INSERT INTO `flyorder` VALUES ('10000002', '3', '2010-08-17 00:00:00', '1', '123321','JH');
-- ----------------------------
-- Table structure for `people`
-- ----------------------------
DROP TABLE IF EXISTS `people`;
CREATE TABLE `people` (
  `peopleid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'PK,自动加1',
  `foNo` varchar(16) NOT NULL COMMENT '订单号外键flyOrder',
  `passengername` varchar(30) NOT NULL COMMENT '旅客姓名(和证件类型上的姓名一样)',
  `price` varchar(30) DEFAULT NULL  COMMENT '机票价',
  `fuelTax` varchar(30) DEFAULT NULL  COMMENT '燃油费',
  `airportTax` varchar(30) DEFAULT NULL  COMMENT '机建费',
  `idtype` varchar(30) DEFAULT NULL COMMENT '证件类型',
  `idnumber` varchar(50) DEFAULT NULL COMMENT '证件号码',
  `company` varchar(10) NOT NULL  COMMENT '公司简码',
  `AddDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`peopleid`),
  KEY `fk_people_flyOrder` (`foNo`),
  CONSTRAINT `fk_people_flyOrder` FOREIGN KEY (`foNo`) REFERENCES `flyorder` (`foNo`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=gbk;-- ----------------------------
-- Records of people
-- ----------------------------
INSERT INTO `people` VALUES ('1', '10000001', 'LANG/JIANGTAO', '2000', '100', '100', '护照', 'G22295542', 'JH', '2010-08-17 10:36:36');
INSERT INTO `people` VALUES ('2', '10000001', 'LU/CHAOXIA', '2000', '100', '100', '护照', 'G30643858', 'JH', '2010-08-17 10:36:36');
INSERT INTO `people` VALUES ('3', '10000001', 'PENG/YONG', '2000', '100', '100', '护照', 'G21737991', 'JH', '2010-08-17 10:36:36');
INSERT INTO `people` VALUES ('4', '10000002', 'LANG/JIANGTAO', '2400', '100', '125', '护照', 'G22295542', 'JH', '2010-08-17 17:05:18');
INSERT INTO `people` VALUES ('5', '10000002', 'LU/CHAOXIA', '2400', '100', '125', '护照', 'G30643858', 'JH', '2010-08-17 17:05:18');
INSERT INTO `people` VALUES ('6', '10000002', 'PENG/YONG', '2400', '100', '125', '护照', 'G21737991', 'JH', '2010-08-17 17:05:18');-- ----------------------------
-- Table structure for `serchfly`
-- ----------------------------
DROP TABLE IF EXISTS `serchfly`;
CREATE TABLE `serchfly` (
  `sfid` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',
  `type` int(11) NOT NULL COMMENT '类型(1:国内,2:国外)',
  `foNo` varchar(16) NOT NULL COMMENT '订单号===外键flyOrder',
  `sfNo` varchar(20) NOT NULL COMMENT '航班号',
  `BeginCity` varchar(50) NOT NULL COMMENT '出发城市',
  `Endcity` varchar(50) NOT NULL COMMENT '到达城市',
  `sfBeginDate` varchar(20) NOT NULL COMMENT '出发日期(yyyy-MM-DD)',
  `sfBegintime` varchar(20) NOT NULL COMMENT '起飞时间(HH:mm)',
  `company` varchar(5) NOT NULL COMMENT '那个公司的(公司简码)',
  `pnrNo` varchar(50) DEFAULT NULL COMMENT '航班的记录编号PNR',
  `addDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`sfid`),
  KEY `fk_serchFly_flyOrder` (`foNo`),
  CONSTRAINT `fk_serchFly_flyOrder` FOREIGN KEY (`foNo`) REFERENCES `flyorder` (`foNo`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=gbk;-- ----------------------------
-- Records of serchfly
-- ----------------------------
INSERT INTO `serchfly` VALUES ('1', '2', '10000001', 'LH729', 'PVG', 'FRA', '2009-11-28','13:50', 'JH','SGLWR', '2010-08-17 10:36:36');
INSERT INTO `serchfly` VALUES ('2', '2', '10000001', 'LH3674', 'FRA', 'GVA', '2009-11-28', '21:20', 'JH', 'SGLWR', '2010-08-17 10:36:36');
INSERT INTO `serchfly` VALUES ('3', '2', '10000001', 'LH3667', 'GVA', 'FRA', '2009-12-20', '14:45', 'JH', 'SGLWR', '2010-08-17 10:36:36');
INSERT INTO `serchfly` VALUES ('4', '2', '10000001', 'LH728', 'FRA', 'PVG', '2009-12-20', '17:45', 'JH', 'SGLWR','2010-08-17 10:36:36');
INSERT INTO `serchfly` VALUES ('5', '2', '10000002', 'LH729', 'PVG', 'FRA', '2009-11-28','13:50', 'JH','SGLWR', '2010-08-17 10:36:36');
INSERT INTO `serchfly` VALUES ('6', '2', '10000002', 'LH3674', 'FRA', 'GVA', '2009-11-28', '21:20', 'JH', 'SGLWR', '2010-08-17 10:36:36');
INSERT INTO `serchfly` VALUES ('7', '2', '10000002', 'LH3667', 'LGA', 'DTW', '2009-12-20', '14:45', 'JH', 'SGLWR', '2010-08-17 10:36:36');
INSERT INTO `serchfly` VALUES ('8', '2', '10000002', 'LH728', 'DTW', 'PVG', '2009-12-20', '17:45', 'JH', 'SGLWR','2010-08-17 10:36:36');

解决方案 »

  1.   

    PVG-FRA-GVA-FRA-PVG   
    PVG-FRA-GVA-FRA-PVG   
    PVG-FRA-GVA-FRA-PVG   
    PVG-FRA-GVA/LGA-DTW-PVG   
    PVG-FRA-GVA/LGA-DTW-PVG   
    PVG-FRA-GVA/LGA-DTW-PVG  
    这个地方的对应的是flyorder的begincity和endcity
    他们是联程的话就PVG-FRA-GVA-FRA-PVG这样显示
    不是联程但属于同一个编号的PVG-FRA-GVA/LGA-DTW-PVG  用/显示   
      

  2.   


    试着用 case when 语句来做做看。你就仍了4张表,一堆数据,又不说查询要求,想帮也帮不了