我有三个表,表1 表2 表3。
每个表都有 零件号、零件名称、 录入日期列 相对应。我想查出 包括以上两列 和表1的a b c列 表2的d e f列 表3的 g h i列
条件为 录入日期=1982-6-10。
请高手帮忙
每个表都有 零件号、零件名称、 录入日期列 相对应。我想查出 包括以上两列 和表1的a b c列 表2的d e f列 表3的 g h i列
条件为 录入日期=1982-6-10。
请高手帮忙
a.零件号,
a.零件名称,
a.a,
a.b,
a.c,
b.d,
b.e,
b.f
c.g,
c.h,
c.i
from 表1 a,表2 b, 表3 c
where a.零件号=b.零件号 and a.零件号=c.零件号
and a.录入日期=1982-6-10
这样?
union all
select * from tb2 where 录入日期 = '1982-06-10'
union all
select * from tb3 where 录入日期 = '1982-06-10'
自己更改需要显示的列
select a.* , b.* , c.* from tb1 a , tb2 b , tb3 c
where a.零件号 = b.零件号 and a.零件号 = c.零件号 and
a.零件名称 = b.零件名称 and a.零件名称 = b.零件名称 and
a.录入日期 = '1982-06-10' and b.录入日期 = '1982-06-10' and c.录入日期 = '1982-06-10'
零件号 录入日期 a b c d e f g h i 表里面有的就添到列里面 没有的就空着
from tb1 a , tb2 b , tb3 c
where a.零件号 = b.零件号 and a.零件号 = c.零件号 and
a.零件名称 = b.零件名称 and a.零件名称 = b.零件名称 and
a.录入日期 = '1982-06-10' and b.录入日期 = '1982-06-10' and c.录入日期 = '1982-06-10'
(
select isnull(a.零件号,b.零件号) 零件号,a.a,a.b,a.c,b.d,b.e,b.f from tb1 a full join tb2 b on a.零件号 = b.零件号 where a.录入日期 = '1982-06-10' and b.录入日期 = '1982-06-10'
) m full join tb3 n
on m.零件号 = n.零件号 where n.录入日期 = '1982-06-10'
from tb1 a , tb2 b , tb3 c
where --a.零件号 = b.零件号 and a.零件号 = c.零件号 and
--a.零件名称 = b.零件名称 and a.零件名称 = b.零件名称 and
a.录入日期 = '1982-06-10' and b.录入日期 = '1982-06-10' and c.录入日期 = '1982-06-10' 显示不了结果 然后把后面两个条件屏蔽了才可以显示 但结果重复了 为什么会这样呢?
可是这个结果还是达不到 领导的要求 是我没表达清楚
三个表里面还有一个列是 凭证类别,就是表的名字。 结果的要求是表1 零件号 零件名称 ** ** ** **
~~~~~~~~~~~~~~~~~~~~~~~~~~~同上
~~~~~~~~~~~~~~~~~~~~~~~~~~~同上
~~~~~~~~~~~~~~~~~~~~~~~~~~~同上
表2 零件号 零件名称 && && && && && &&
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~同上
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~同上
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~同上
表3 零件号 零件名称 %%% %%% %%% %%% %% %% %%
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~同上
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~同上
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~同上