**重新修改了下数据和要求。
左侧上下两个基础表格,通过select建立多表联查,合并生成新的查询结果。
能够在sqlitespy上运行,这破软件好像有些联合不能使用。**
/
/
/
PS:尚未解决,请继续。
**重新修改了下数据和要求。
左侧上下两个基础表格,通过select建立多表联查,合并生成新的查询结果。
能够在sqlitespy上运行,这破软件好像有些联合不能使用。**
/
/
/
PS:尚未解决,请继续。
根据你的元数据 建立的表和数据
DROP TABLE IF EXISTS `book_1`;
CREATE TABLE `book_1` (
`ID` bigint(11) NOT NULL,
`TYPE_1` varchar(20) DEFAULT NULL,
`NAME` varchar(20) DEFAULT NULL,
`CODE` varchar(20) DEFAULT NULL,
`LEVEL` varchar(20) DEFAULT NULL,
`TYPE_2` varchar(20) DEFAULT NULL,
`NUM` int(11) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of book_1
-- ----------------------------
INSERT INTO `book_1` VALUES ('1', '商场', '万达', '0001', '1', '经理', '24');
INSERT INTO `book_1` VALUES ('2', '商场', '万达', '0001', '1', '副经理', '53');
INSERT INTO `book_1` VALUES ('3', '商场', '万达', '0001', '1', '员工', '22');
INSERT INTO `book_1` VALUES ('4', '商场', '之心城', '0002', '1', '经理', '13');
INSERT INTO `book_1` VALUES ('5', '商场', '之心城', '0002', '1', '副经理', '55');
INSERT INTO `book_1` VALUES ('6', '商场', '之心城', '0002', '1', '员工', '5');
-- ----------------------------
-- Table structure for book_2
-- ----------------------------
DROP TABLE IF EXISTS `book_2`;
CREATE TABLE `book_2` (
`ID` bigint(11) NOT NULL,
`TYPE_1` varchar(20) DEFAULT NULL,
`NAME` varchar(20) DEFAULT NULL,
`CODE` varchar(20) DEFAULT NULL,
`LEVEL` varchar(20) DEFAULT NULL,
`TYPE_2` varchar(20) DEFAULT NULL,
`NUM` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of book_2
-- ----------------------------
INSERT INTO `book_2` VALUES ('1', '商场', '之心城', '0002', '1', '大厨', '34');
INSERT INTO `book_2` VALUES ('2', '商场', '之心城', '0002', '1', '打荷', '21');
INSERT INTO `book_2` VALUES ('3', '商场', '之心城', '0002', '1', '白案', '34');
INSERT INTO `book_2` VALUES ('4', '商场', '国贸', '0003', '1', '大厨', '43');
INSERT INTO `book_2` VALUES ('5', '商场', '国贸', '0003', '1', '打荷', '55');
INSERT INTO `book_2` VALUES ('6', '商场', '国贸', '0003', '1', '白案', '22');
以下是sql 怎么用 。Oracle和MySQL 都能用
SELECT
S.TYPE_1 类型,
S. NAME 名称,
S.`CODE` 代码,
SUM(
CASE
WHEN S.TYPE_2 IN ('经理','副经理','员工') THEN S.NUM
ELSE
NULL
END
) AS '一类求和',
SUM(
CASE
WHEN S.TYPE_2 IN ('经理') THEN S.NUM
ELSE
NULL
END
) 经理,
SUM(
CASE
WHEN S.TYPE_2 IN ('副经理') THEN S.NUM
ELSE
NULL
END
) 副经理,
SUM(
CASE
WHEN S.TYPE_2 IN ('员工') THEN S.NUM
ELSE
NULL
END
) 员工,
SUM(
CASE
WHEN S.TYPE_2 IN ('大厨','打荷','白案') THEN S.NUM
ELSE
NULL
END
) '二类总计',
SUM(
CASE
WHEN S.TYPE_2 IN ('大厨') THEN S.NUM
ELSE
NULL
END
) 大厨,
SUM(
CASE
WHEN S.TYPE_2 IN ('打荷') THEN S.NUM
ELSE
NULL
END
) 打荷,
SUM(
CASE
WHEN S.TYPE_2 IN ('白案') THEN S.NUM
ELSE
NULL
END
) 白案
FROM
(
SELECT
ID,
TYPE_1,
NAME,
CODE,
LEVEL,
TYPE_2,
NUM
FROM
book_1
UNION ALL
SELECT
*
FROM
book_2
) S
GROUP BY
S.TYPE_1,
S. NAME,
S.`CODE`