高手们,兄弟遇到高深的问题了,求解
项目表数据表结构及值:ID 项目
1 长
2 宽
3 高
4 材质
项目值数据表结构及值:
ID 项目ID 项目值
1 1 1200
2 1 1300
3 1 1250
4 1 980
5 2 850
6 2 750
7 2 650
8 3 400
9 3 500
10 3 600
11 3 700
12 3 800
13 4 ABS
14 4 Q235
程序计算出效果: 长:1200_宽:850_高:400_材质:ABS
…
...
--------------------编程问答-------------------- 简单的就是将下表循环计算出 “长:1200_宽:850_高:400_材质:ABS” 这种结构,一共有多少数据,然后导出到EXCEL
长 宽 高 材质
1200 850 400 ABS
1300 750 500 Q235
1250 650 600
980 700
800
--------------------编程问答-------------------- 真高深!
计算出来,显示出来是否可以? --------------------编程问答-------------------- 用什么数据库?ACCESS,SQL SERVER,ORACLE
--ORACLE写法
--顺便说一句,楼主定义是否有问题,第二张表你只给出了两个字段,是否还缺少一个字段,这些属性归属于哪个物件?
WITH tb AS
( SELECT 1 AS itemid, '长' AS proid, '1200' AS project FROM dual
UNION
SELECT 2, '长', '1300' FROM dual
UNION
SELECT 3, '长', '1250' FROM dual
UNION
SELECT 4, '长', '980' FROM dual
UNION
SELECT 1, '宽', '850' FROM dual
UNION
SELECT 2, '宽', '750' FROM dual
UNION
SELECT 3, '宽', '650' FROM dual
UNION
SELECT 1, '高', '400' FROM dual
UNION
SELECT 2, '高', '500' FROM dual
UNION
SELECT 3, '高', '600' FROM dual
UNION
SELECT 4, '高', '700' FROM dual
UNION
SELECT 5, '高', '800' FROM dual
UNION
SELECT 1, '材质', 'ABS' FROM dual
UNION
SELECT 2, '材质', 'Q235' FROM dual
)
SELECT itemid,wm_concat(proid || ':' || project) as itemDesc FROM tb GROUP BY itemid
--结果
ITEMID ITEMDESC
---------------------- ------------------------------
1 材质:ABS,宽:850,高:400,长:1200
2 材质:Q235,宽:750,高:500,长:1300
3 长:1250,宽:650,高:600
4 长:980,高:700
5 高:800 --------------------编程问答-------------------- 兄弟,你没有完全理解意思哟 --------------------编程问答-------------------- 如果是按照一个类型,规格有:长宽高、材质名来划分的话,加个类型ID字段取分有利计算 --------------------编程问答-------------------- 四项组合,有缺失项,你怎么确定某个规格一定存在长宽高和材质中的哪几项?
还是一定要存在四项组合,如果缺失,则显示为空值。
还有你怎么判断1200就一定跟850组合呢?而不是跟其它的750,650组合?
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 计算出所有的结合,四个项目都要齐全,一共有多少种,显示出来,然后输出到EXCEL 逻辑是没有问题的,关键是如果算出来. --------------------编程问答-------------------- select 项目值.id ,项目,项目值 from 项目表 inner join 项目值表 on 项目表.id=项目值表.项目ID --------------------编程问答-------------------- select 项目值.id ,项目,项目值 from 项目表 right join 项目值表 on 项目表.id=项目值表.项目ID --------------------编程问答-------------------- 我怎么觉得你这个表结构的定义问题很大呢.
直接定义成:
项目ID,长,宽,高,数量....
这样不是很简单么 --------------------编程问答-------------------- 结构是没有问题的,这其实上就是一个排列组合,多个项目,每个项目下有多个值,然后组合出来有多少种情况,第一条数据都要包括所有项目. 用VB写和SQL写都可以
补充:VB , 数据库(包含打印,安装,报表)