首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

小弟我明白,提问也是需要讲技巧的,不然大神们都不知道小弟我想表达个什么意思

2013-04-02 
我明白,提问也是需要讲技巧的,不然大神们都不知道我想表达个什么意思.本帖最后由 u010009961 于 2013-03-2

我明白,提问也是需要讲技巧的,不然大神们都不知道我想表达个什么意思.
本帖最后由 u010009961 于 2013-03-29 00:43:50 编辑 终于完成了我的提问,花了我半个小时,希望不是我一个人遇到这样的问题,那么,让我们开始吧!
A表结构:Number为自增长列

Number,GoodsName,Bopomofo_Ab
1       小米       XM
2       大米       DM
3       小麦       XM
4       大麦       DM
5       高梁       GL
6       土豆       TD
7       玉米       YM

B表结构:ID为自增长列,DJBID为A表Number
ID,DJBID,GoodsName,SpecType,Provider,remarks,Quantity,UnitPrice
1   1      小米      广东    阿里      良     10000      3.00
2   1      小米      山东    淘宝      优     20000      2.50
3   2      大米      山东    淘宝      良      5000      2.00
4   2      大米      吉林    阿里      良      5000      4.00
5   5      高梁      安徽    易趣      优     10000      2.00
6   4      大麦      四川    当当      差      4000      2.00
7   6      土豆      黑龙江  京东      优     20000      1.00

C表结构:ID为自增长列,DJBID为A表Numbe,KCID为B表ID
ID,DJBID,KCID,GoodsName,Provider,SpecType,remarks_kc,Quantity_ck1,UnitPrice,
1   1     2     小米      山东        淘宝      优           1000       2.50      
2   5     5     高梁      安徽        易趣      优           1000       2.00
3   1     1     小米      广东        阿里      良           10000      3.00

D表结构:ID为自增长列,DJBID为A表Numbe,KCID为B表ID


ID,DJBID,KCID,GoodsName,Provider,SpecType,remarks_kc,Quantity_ck2,UnitPrice,
1   2      3     大米      山东       淘宝      良          900        2.00
2   1      1     小米      广东       阿里      良          1000       3.00

E表结构:ID为自增长列,DJBID为A表Numbe,KCID为B表ID
ID,DJBID,KCID,GoodsName,Provider,SpecType,remarks_kc,Quantity_ck3,UnitPrice,
1   6     7     土豆      黑龙江      京东      优           1000       1.00
2   1     2     小米      山东        淘宝      优           1000       2.50
 
通过以上A表,B表,C表,D表,E表,得到用Grdview显示出来如下结果,这条SQL语句怎么写呢?:
B表.ID,B表.DJBID,B表.GoodsName,B表.SpecType,B表.Provider,B表.remarks,B表.Quantity,B表.UnitPrice,A表.Bopomofo_Ab,C表.quantity_ck1,D表.quantity_ck2,E表.quantity_ck3
  1       1          小米           广东        阿里          良        10000         3.00           XM                1000                1000          NULL 
  2       1          小米           山东        淘宝          优        20000         2.50           XM                1000                NULL          1000
  3      2           大米           山东        淘宝          良        5000          2.00           DM                NULL                900           NULL


  4      2           大米           吉林        阿里          良        5000          4.00           DM                NULL                NULL          NULL
  5      5           高梁           安徽        易趣          优        10000         2.00           GL                1000                NULL          NULL
  6      4           大麦           四川        当当          差        4000          2.00           XM                NULL                NULL          NULL
  7      6           土豆           黑龙江      京东          优        20000         1.00           TD                NULL                NULL          1000


[解决办法]
悲催的还在加班,帮你写吧
----------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-03-29 00:49:07
-- Version:
--      Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86) 
--Jun 17 2011 00:57:23 
--Copyright (c) Microsoft Corporation
--Enterprise Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------
--> 测试数据:[A]
if object_id('[A]') is not null drop table [A]
go 
create table [A]([Number] int,[GoodsName] varchar(4),[Bopomofo_Ab] varchar(2))


insert [A]
select 1,'小米','XM' union all
select 2,'大米','DM' union all
select 3,'小麦','XM' union all
select 4,'大麦','DM' union all
select 5,'高梁','GL' union all
select 6,'土豆','TD' union all
select 7,'玉米','YM'

if object_id('[B]') is not null drop table [B]
go 
create table [B]([ID] int,[DJBID] int,[GoodsName] varchar(4),[SpecType] varchar(6),[Provider] varchar(4),[remarks] varchar(2),[Quantity] int,[UnitPrice] numeric(3,2))
insert [B]
select 1,1,'小米','广东','阿里','良',10000,3.00 union all
select 2,1,'小米','山东','淘宝','优',20000,2.50 union all
select 3,2,'大米','山东','淘宝','良',5000,2.00 union all
select 4,2,'大米','吉林','阿里','良',5000,4.00 union all
select 5,5,'高梁','安徽','易趣','优',10000,2.00 union all
select 6,4,'大麦','四川','当当','差',4000,2.00 union all
select 7,6,'土豆','黑龙江','京东','优',20000,1.00

if object_id('[C]') is not null drop table [C]
go 
create table [C]([ID] int,[DJBID] int,[KCID] int,[GoodsName] varchar(4),[Provider] varchar(4),[SpecType] varchar(4),[remarks_kc] varchar(2),[Quantity_ck1] int,[UnitPrice] numeric(3,2))
insert [C]
select 1,1,2,'小米','山东','淘宝','优',1000,2.50 union all
select 2,5,5,'高梁','安徽','易趣','优',1000,2.00 union all
select 3,1,1,'小米','广东','阿里','良',10000,3.00

if object_id('[D]') is not null drop table [D]
go 
create table [D]([ID] int,[DJBID] int,[KCID] int,[GoodsName] varchar(4),[Provider] varchar(4),[SpecType] varchar(4),[remarks_kc] varchar(2),[Quantity_ck2] int,[UnitPrice] numeric(3,2))
insert [D]
select 1,2,3,'大米','山东','淘宝','良',900,2.00 union all
select 2,1,1,'小米','广东','阿里','良',1000,3.00

if object_id('[E]') is not null drop table [E]
go 
create table [E]([ID] int,[DJBID] int,[KCID] int,[GoodsName] varchar(4),[Provider] varchar(6),[SpecType] varchar(4),[remarks_kc] varchar(2),[Quantity_ck3] int,[UnitPrice] numeric(3,2))
insert [E]
select 1,6,7,'土豆','黑龙江','京东','优',1000,1.00 union all
select 2,1,2,'小米','山东','淘宝','优',1000,2.50
--------------开始查询--------------------------

SELECT b.*,a.Bopomofo_Ab,c.quantity_ck1,d.quantity_ck2,e.quantity_ck3
FROM B left JOIN A ON a.number= b.DJBID
LEFT JOIN C ON b.ID=c.KCID AND a.number= c.DJBID
LEFT JOIN D ON b.ID=D.KCID AND a.number= D.DJBID
LEFT JOIN E ON b.ID=E.KCID AND a.number= E.DJBID
----------------结果----------------------------
/* 
ID          DJBID       GoodsName SpecType Provider remarks Quantity    UnitPrice                               Bopomofo_Ab quantity_ck1 quantity_ck2 quantity_ck3
----------- ----------- --------- -------- -------- ------- ----------- --------------------------------------- ----------- ------------ ------------ ------------
1           1           小米        广东       阿里       良       10000       3.00                                    XM          10000        1000         NULL


2           1           小米        山东       淘宝       优       20000       2.50                                    XM          1000         NULL         1000
3           2           大米        山东       淘宝       良       5000        2.00                                    DM          NULL         900          NULL
4           2           大米        吉林       阿里       良       5000        4.00                                    DM          NULL         NULL         NULL
5           5           高梁        安徽       易趣       优       10000       2.00                                    GL          1000         NULL         NULL
6           4           大麦        四川       当当       差       4000        2.00                                    DM          NULL         NULL         NULL
7           6           土豆        黑龙江      京东       优       20000       1.00                                    TD          NULL         NULL         1000



(7 行受影响)
*/


[解决办法]
目测就是联合查询。。
[解决办法]

真强,现在都还在。。
[解决办法]
都说加班咯,无聊就刷一下
[解决办法]

[解决办法]
你猜对了,而且还在发烧咳嗽,马勒个把子,火的很呢
[解决办法]

[解决办法]
那倒不是,有些公司更辛苦,有些公司又更清闲
[解决办法]
看我起步起得来...按照那些废物领导的要求,当然是要正常上班了。我要是心情不好就不去了小弟我明白,提问也是需要讲技巧的,不然大神们都不知道小弟我想表达个什么意思
[解决办法]

[解决办法]
还有几天我就换工作去,管他们呢
[解决办法]
引用:
引用:引用:引用:引用:引用:引用:引用:引用:引用回复

小弟我明白,提问也是需要讲技巧的,不然大神们都不知道小弟我想表达个什么意思,学习一下你们经验。。
[解决办法]

这有多少啊??前面一大段都是造数据,后买年select就是以B为主,其他左联,而已,你这已经是入门级的问题了,还没说要汇总什么的

热点排行