P
puremoonstone
Unregistered / Unconfirmed
GUEST, unregistred user!
急用:多表查询的问题
有这样三个表“承付单表”、“承付单商品信息子表”、“结算单表”,
“承付单表”的主要字段是“付款编号”,它记录了用户的承付状况(这是一个小编号,
如FK01-1-1,FK01-1-2表示用户对一批商品付了两次款);
“承付单商品信息子表”的主要字段是“付款编号”(这是一个大编号,如FK01-1)和
“进仓单号”,它记录了用户本次大承付所对应的商品(包括进仓的商品和未进仓的,如果
未进仓,则进仓单号为空),存在这样的情况:用户在FK01-1-1时付款,商品尚未进仓,用户
可能自行输入了商品或根本没有输入商品;在FK01-1-2时付款,商品进仓了,这时
如果“承付单商品信息子表”中保存有未进仓的商品,则会用进仓了的商品自动替换掉未
进仓的商品。
“结算单表”的主要字段是“结算单号”和“付款编号”(这是一个大编号)。
现在,我想从“承付单表”中查出同时满足下列条件的“付款编号”(大编号):
1、该“付款编号”不在“结算单表”中(既尚未被结算)
2、该“付款编号”不在“承付单商品信息子表”中(即该大编号下的小编号不在此表中,
这说明用户预付款时没有输入商品)或者该“付款编号”在“承付单商品信息子表”中,
但对应的商品的进仓单号为空(这说明该付款对应的商品信息是用户在预付款时自行输入的)
注:条件2的意思就是如果该“付款编号”在“承付单商品信息子表”中,而且它对应的商品
有进仓单号,那么它就不满足本条件。
由于涉及大小编号的转换,实现起来很麻烦。请问怎样用SQL实现呢?
谢谢您费心看完问题,我在期待您的帮助!
有这样三个表“承付单表”、“承付单商品信息子表”、“结算单表”,
“承付单表”的主要字段是“付款编号”,它记录了用户的承付状况(这是一个小编号,
如FK01-1-1,FK01-1-2表示用户对一批商品付了两次款);
“承付单商品信息子表”的主要字段是“付款编号”(这是一个大编号,如FK01-1)和
“进仓单号”,它记录了用户本次大承付所对应的商品(包括进仓的商品和未进仓的,如果
未进仓,则进仓单号为空),存在这样的情况:用户在FK01-1-1时付款,商品尚未进仓,用户
可能自行输入了商品或根本没有输入商品;在FK01-1-2时付款,商品进仓了,这时
如果“承付单商品信息子表”中保存有未进仓的商品,则会用进仓了的商品自动替换掉未
进仓的商品。
“结算单表”的主要字段是“结算单号”和“付款编号”(这是一个大编号)。
现在,我想从“承付单表”中查出同时满足下列条件的“付款编号”(大编号):
1、该“付款编号”不在“结算单表”中(既尚未被结算)
2、该“付款编号”不在“承付单商品信息子表”中(即该大编号下的小编号不在此表中,
这说明用户预付款时没有输入商品)或者该“付款编号”在“承付单商品信息子表”中,
但对应的商品的进仓单号为空(这说明该付款对应的商品信息是用户在预付款时自行输入的)
注:条件2的意思就是如果该“付款编号”在“承付单商品信息子表”中,而且它对应的商品
有进仓单号,那么它就不满足本条件。
由于涉及大小编号的转换,实现起来很麻烦。请问怎样用SQL实现呢?
谢谢您费心看完问题,我在期待您的帮助!