我回答你了,答案如下:
SELECT T11.ID,T2.price,T11.name,T11.providerName
FROM (SELECT * FROM goods ,provider Order by goods.id,provider.providerId ) T11,
price T2
where T11.id = T2.id(+) AND T11.providerId = T2.provider(+)因为你要先是所有的数据,所以,我就让你的商品和提供商这两个做了FULL JOIN,这样,你要显示的所有的东西,都调出来了,然后,左联结你的价格这个表,这样,有的话,就会,没有的话,就是NULL,你可以控制显示的。这样,就和你得显示方法有关系了,你可以用一个变量,来记录你的物品序号,不同的时候,就是换行。否则,就是rs.next();还有一个问题,就是,你的供货商名称名字的取得,其实,这个就见仁见智了。
1。可以再取一次。只是取供货商表
2。读取晚所有的第一条数据以后,也可以知道。
3。在你的物品表里面添加id是0的数据,它的目的就是取得供货商名称上面的方法3,假如你不想添加,可以用下面的SQL句子。
select 0,0,T11.name,T11.providerName
FROM (SELECT * FROM goods ,provider Order by goods.id,provider.providerId ) T11
UNION
SELECT T11.ID,T2.price,T11.name,T11.providerName
FROM (SELECT * FROM goods ,provider Order by goods.id,provider.providerId ) T11,
price T2
where T11.id = T2.id(+) AND T11.providerId = T2.provider(+)假如还有什么问题,可以和我联系。和和。
SELECT T11.ID,T2.price,T11.name,T11.providerName
FROM (SELECT * FROM goods ,provider Order by goods.id,provider.providerId ) T11,
price T2
where T11.id = T2.id(+) AND T11.providerId = T2.provider(+)因为你要先是所有的数据,所以,我就让你的商品和提供商这两个做了FULL JOIN,这样,你要显示的所有的东西,都调出来了,然后,左联结你的价格这个表,这样,有的话,就会,没有的话,就是NULL,你可以控制显示的。这样,就和你得显示方法有关系了,你可以用一个变量,来记录你的物品序号,不同的时候,就是换行。否则,就是rs.next();还有一个问题,就是,你的供货商名称名字的取得,其实,这个就见仁见智了。
1。可以再取一次。只是取供货商表
2。读取晚所有的第一条数据以后,也可以知道。
3。在你的物品表里面添加id是0的数据,它的目的就是取得供货商名称上面的方法3,假如你不想添加,可以用下面的SQL句子。
select 0,0,T11.name,T11.providerName
FROM (SELECT * FROM goods ,provider Order by goods.id,provider.providerId ) T11
UNION
SELECT T11.ID,T2.price,T11.name,T11.providerName
FROM (SELECT * FROM goods ,provider Order by goods.id,provider.providerId ) T11,
price T2
where T11.id = T2.id(+) AND T11.providerId = T2.provider(+)假如还有什么问题,可以和我联系。和和。
解决方案 »
- 新手求教。spring+axis2集成的问题。The endpoint reference (EPR) for the Operation not found
- tomcat安装后无法解析JSP文件,求解决办法
- 表单数据提交到自身页面
- 求助:项目打包成WAR后, 如果在WEB页面上更改并保存WEB-INF下面的.xml文件?
- 请问谁有用JSP写的论坛源代码?
- 求助:关于tomcat的javaBean问题
- 关于Tomcat 的菜鸟问题~~
- 用jrun4.0 如何发布站点?在线等待。马上揭贴
- 谁有实现下载功能的完整例子?!我急需!
- 菜鸟求教:局域网访问不了发布在服务器上tomcat的web项目
- 请教各位高手(很急)(有点穷,少给一点分,表示敬意)
- 我不信没有人能帮我解决这个问题
CREATE TABLE USRSZZZ_2.T1
(
SNO NUMBER(2,0) NOT NULL,
SNAME VARCHAR2(20) NOT NULL
)
/
SNO SNAME
1 Name1
2 Name2
3 Name3
CREATE TABLE USRSZZZ_2.T2
(
SNO NUMBER(2,0) NOT NULL,
SNO2 NUMBER(2,0) NOT NULL,
SPRICE NUMBER
)
/
SNO SNO2 SPRICE
1 1 100
1 2 110
2 1 210
2 3 230
3 2 320CREATE TABLE USRSZZZ_2.T3
(
SNO2 NUMBER(2,0) NOT NULL,
SNAME2 VARCHAR2(20)
)
/SNO2 SNAME2
1 Dong
2 Nan
3 Xi
4 Bei
SQL:
SELECT 0 AS SNO,0 AS SPRICE,'' AS SNAME,T11.SNAME2
FROM (SELECT * FROM T1 ,T3 Order by T1.SNo,t3.sno2) T11
UNION
SELECT T11.SNO,T2.SPRICE,T11.SNAME,T11.SNAME2
FROM (SELECT * FROM T1 ,T3 Order by T1.SNo,t3.sno2) T11,
T2
WHERE T11.SNO = T2.SNO(+) AND T11.SNO2 = T2.SNO2(+)结果:
SNO SPRICE SNAME SNAME2
0 0 (NULL) Bei
0 0 (NULL) Dong
0 0 (NULL) Nan
0 0 (NULL) Xi
1 100 Name1 Dong
1 110 Name1 Nan
1 (NULL) Name1 Bei
1 (NULL) Name1 Xi
2 210 Name2 Dong
2 230 Name2 Xi
2 (NULL) Name2 Bei
2 (NULL) Name2 Nan
3 320 Name3 Nan
3 (NULL) Name3 Bei
3 (NULL) Name3 Dong
3 (NULL) Name3 Xi
UNION的前面的句子修改了一下,和和,SELECT 0 AS SNO,0 AS SPRICE,'' AS SNAME,T12.SNAME2
FROM (SELECT * FROM T3 Order by t3.sno2) T12
UNION
SELECT T11.SNO,T2.SPRICE,T11.SNAME,T11.SNAME2
FROM (SELECT * FROM T1 ,T3 Order by T1.SNo,t3.sno2) T11,
T2
WHERE T11.SNO = T2.SNO(+) AND T11.SNO2 = T2.SNO2(+)不需要T1
http://community.csdn.net/Expert/topic/3446/3446949.xml?temp=.2001917