佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1628|回复: 9

SQL Command

[复制链接]
发表于 4-2-2009 06:47 PM | 显示全部楼层
这是我的方法:

declare @table table(Custid Varchar(10), QtyA INT,Paper1 Varchar(5),Paper2 Varchar(5),Number INT,QtyB INT)

insert into @table(CustID, QtyA, Paper1, Paper2)
select CustID, QtyA, Paper1, Paper2 from TableA


insert into @table(Custid, Number,QtyB)
select Custid, Number,QtyB from TableB

SELECT * FROM @table
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 4-2-2009 03:25 PM | 显示全部楼层 |阅读模式
TableA
Custid        QtyA        Paper1       Paper2
A                  2                aa              bb
A                  3                aa              bb

TableB
Custid        Number        QtyB
A                     1         5
A                     2                7
A                     3                9

TableC
Custid      QtyA        Paper1       Paper2        Number         QtyB
A                 2              aa               bb            NULL              NULL
A                 3              aa               bb            NULL              NULL
A                 NULL       NULL           NULL           1                    5
A                 NULL       NULL           NULL           2                    7
A                 NULL       NULL           NULL           3                    9

我想问有没有任何SQL command 能把一上的TableA join TableB 然后变成TableC??
回复

使用道具 举报

 楼主| 发表于 5-2-2009 10:34 AM | 显示全部楼层
原帖由 大傻姐 于 4-2-2009 06:47 PM 发表
这是我的方法:

declare @table table(Custid Varchar(10), QtyA INT,Paper1 Varchar(5),Paper2 Varchar(5),Number INT,QtyB INT)

insert into @table(CustID, QtyA, Paper1, Paper2)
select CustID, QtyA, ...


谢谢。。。。
回复

使用道具 举报

 楼主| 发表于 5-2-2009 10:42 AM | 显示全部楼层
Table A
custid         name
a                  aa

Table B
number      paper       custid
123456          1              a
456789          2              a
987654          3              a

Table C
part           custid      qty
abc123          a            12
def456           a            13

Table D
custid       name      number       paper    part         qty
a                 aa            123456      1         abc123    12
a                 aa            456789       2        def456     13
a                 aa            987654       3         NULL       NULL


那以上的把Table A, Table B, Table C join to Table D有可能吗??
回复

使用道具 举报

发表于 5-2-2009 11:53 AM | 显示全部楼层
使用 JOIN,JOIN有分好几种:LEFT JOIN, RIGHT JOIN,INNER JOIN,详情请参考http://www.w3schools.com/sql/sql_join.asp
回复

使用道具 举报

 楼主| 发表于 5-2-2009 03:48 PM | 显示全部楼层
原帖由 geekman 于 5-2-2009 11:53 AM 发表
使用 JOIN,JOIN有分好几种:LEFT JOIN, RIGHT JOIN,INNER JOIN,详情请参考http://www.w3schools.com/sql/sql_join.asp


我也知道,但是出来的结果不是我想要的。。。会重复的
回复

使用道具 举报

Follow Us
发表于 6-2-2009 10:44 AM | 显示全部楼层
应该是不可能吧
当Table A join Table B,就会有
Table A_B
custid name number paper
a        aa    123456    1
a        aa    456789    2
a        aa    987654    3

你这么确定Table C的第一个Row是要放在Table A_B的第一个row呢?since它们是join by custID, Table A_B 三个row 的custID 都一样。
除非你的Table C也有column paper 或 number, 那就可以这样:
SELECT A.custid, A.name, B.number, B.paper,
(SELECT Part FROM Table C Where custID = A.custID and number = B.Number and paper = B.paper) AS Part,
(SELECT Qty FROM Table C Where custID = A.custID and number = B.Number and paper = B.paper) AS Qty
FROM TableA A INNER JOIN TableB B ON A.custID = B.custID
回复

使用道具 举报

发表于 16-2-2009 10:18 AM | 显示全部楼层
CREATE VIEW VIEWNAME
AS
     SQL COMMAND
回复

使用道具 举报


ADVERTISEMENT

发表于 24-2-2009 05:09 PM | 显示全部楼层
好笑,table A join Table B 之后, 跟Table C 完全link不起来
除非table C 有 paper / number

基本上你两个问题都是可以用 full join 解决,
先决条件是, table structure要对.
重不重复,是看你join 到对不对.

[ 本帖最后由 FiberOptic 于 24-2-2009 05:11 PM 编辑 ]
回复

使用道具 举报

发表于 25-2-2009 02:55 PM | 显示全部楼层

回复 1# 奋斗1314 的帖子

select Custid, QtyA,Paper1,Paper2 ,null as Number, null as  QtyB from tableA
UNION
select null as Custid, null as QtyA,null as Paper1,null as Paper2 ,Number, QtyB from tableB
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 20-12-2025 09:47 PM , Processed in 0.120774 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表