關於多表查詢的問題 (隻有10分了)
A表 (變動表)
單號 日期
IN001 2005.6.7
IN002 2005.6.8
IN003 2005.6.9
....
B表 (庫存表)
單號 品號 數量
IN001 abcd 200
IN002 deff 2001
IN003 aasss 240
...
C表 (品名表)
品號 品名 ..
abcd DY001 ...
deff DY002 ...
aass DY003 ...
怎麼在用戶輸入如 品號= 'abcd ' and 日期= '2005.6.7 ' 時,列出如下資料
品號 品名 數量 日期
abcd DY001 200 2005.6.7
...
也就是將三個表交叉查詢合並問題,僅有10分,真誠求教,謝謝
[解决办法]
create table A(單號 varchar(10), 日期 datetime)
insert A select 'IN001 ', '2005-6-7 '
union all select 'IN002 ', '2005-6-8 '
union all select 'IN003 ', '2005-6-9 '
go
create table B(單號 varchar(10), 品號 varchar(10), 數量 int)
insert B select 'IN001 ', 'abcd ', 200
union all select 'IN002 ', 'deff ', 2001
union all select 'IN003 ', 'aasss ', 240
go
create table C(品號 varchar(10), 品名 varchar(10))
insert C select 'abcd ', 'DY001 '
union all select 'deff ', 'DY002 '
union all select 'aasss ', 'DY003 '
go
select C.*, B.數量, A.日期 from B
left join A on B.單號=A.單號
left join C on B.品號=C.品號
where C.品號= 'abcd ' and datediff(day, A.日期, '2005-6-7 ')=0
--result
品號 品名 數量 日期
---------- ---------- ----------- ------------------------------------------------------
abcd DY001 200 2005-06-07 00:00:00.000
(1 row(s) affected)
[解决办法]
ding