zglinux 发表于 2005-9-17 21:34:47

菜鸟求教

<P>有两个表A,B 字段完全相同 如<BR>code,name,qty</P>
<P>其中A表中的数据包含B表里面的所有数据. 但B表中不一定有A表的所有数据(部分没有),现在要求的是A表中有但B表中没有的那部分数据</P>
<P>是不是很菜?<BR>谢谢了</P>

ehxz 发表于 2005-9-17 22:00:47

<P>select * from A</P>
<P>where not exists(select * </P>
<P>               from B</P>
<P>               where A.code=B.code)</P>
<P>好象这样的吧~~测试一下。</P>

zglinux 发表于 2005-9-17 22:10:03

<P>我测试过了,对 是这样,太谢谢你了! 谢谢!</P>




ehxz 发表于 2005-9-17 22:17:00

呵呵

zglinux 发表于 2005-9-17 22:30:31

很想学好SQL查询,但苦于这方面的书太少.

zglinux 发表于 2005-9-18 09:44:07

<P>ehxz: 你好</P>
<P>延续上面的问题,如果A表是发货单,B表是退货单,要求出A的实际发货数(例A发货5,B退货2,那实际是发货3,怎样写语句求出实际的3本)</P>
<P>谢谢</P>

<P>++++++++++不断学习中++++++++++</P>

阿辉 发表于 2005-9-19 08:12:14

你这个数量是要求A不在B中的条数,还是要求A不在B的记录中某个字段值的合计呀?

zglinux 发表于 2005-9-19 09:23:04

<P>A(发货)<BR>code nameqty<BR>123   abc   5<BR>456   aaa   4<BR>789   ccc   3</P>
<P><BR>B(退货)<BR>code nameqty<BR>123   abc   2<BR>456   aaa   3</P>
<P><BR>求实际发货数(如下表,怎么写语句得出)<BR>code nameqty<BR>123   abc   3<BR>456   aaa   1<BR>789   ccc   3(789没发生退货,所以是发货数)</P>


阿辉 发表于 2005-9-19 09:34:23

<P>select A.code,a.name,A.qty - isnull(B.qty,0)</P>
<P>from A,B</P>
<P>wher A.code*=b.code;</P>

阿辉 发表于 2005-9-19 09:40:53

<P>上述可能只适用于ASE数据库</P>
<P>其他数据库请用相应的函数和标准的外连方式</P>

zglinux 发表于 2005-9-19 10:28:10

<P>谢谢阿辉,我试试!</P>

zglinux 发表于 2005-9-19 11:09:48

<P>我试了,不行,有错误出现.</P>
<P>我想分开两次做,没退货的先求出,用exhz的方法(已实现).</P>
<P>有退货的另外算</P>
<P>A 发货<BR>code   name   qty<BR>888 qqq    10</P>
<P><BR>B 退货<BR>code   name   qty<BR>888 qqq    5</P>
<P>求A发货-B退货的实际5本 这个语句</P>

页: [1] 2
查看完整版本: 菜鸟求教

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com