佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1413|回复: 23

关于MSSQL 2000的一个SCRIPT问题.

[复制链接]
发表于 7-1-2008 08:30 PM | 显示全部楼层 |阅读模式
我要找点SQL2000的SCRIPT是关于:

例子:

select PROD_CODE, isnull(qty,0.00) as Qty from TABLEa
where prod_code in ('001', '002', '003')

答案:
Prod_code, Qty
001                        1
002                        0  << 答案
003                        56

* 答案出来虽然是'0', 可是我要它会显示出来....因为现在我不知道什么地方弄错...虽然答案是0可是它就是不要显示出来.....

请帮帮忙~
回复

使用道具 举报


ADVERTISEMENT

发表于 8-1-2008 11:32 AM | 显示全部楼层
table a 有没有 002 这个 product code?
回复

使用道具 举报

 楼主| 发表于 8-1-2008 02:03 PM | 显示全部楼层
原帖由 神仙祖宗 于 8-1-2008 11:32 AM 发表
table a 有没有 002 这个 product code?


有的...

我的意思是问.....有这CODE, 可是这sum(QTY) = 0.....时候, RESULT那里不会显示出来.
回复

使用道具 举报

发表于 8-1-2008 06:54 PM | 显示全部楼层
我被你的问题给弄糊了
什么答案是0不要显示出来又要显示出来???
到底它有没有显示出来???
你要显示0的咚咚???
还是不要显示0的咚咚???
你的qty是不是null???
回复

使用道具 举报

 楼主| 发表于 9-1-2008 08:50 AM | 显示全部楼层
原帖由 神仙祖宗 于 8-1-2008 06:54 PM 发表
我被你的问题给弄糊了
什么答案是0不要显示出来又要显示出来???
到底它有没有显示出来???
你要显示0的咚咚???
还是不要显示0的咚咚???
你的qty是不是null???


抱歉, 我写的不太清楚...

我的002 的 SUM(QTY) 的答案是 0 .........(意思是NULL)....

我要它会显示:
Prod_code            Qty
001                        1
002                        0  
003                        56

而不是:
Prod_code, Qty
001                        1
003                        56

[ 本帖最后由 panic_tee 于 9-1-2008 08:51 AM 编辑 ]
回复

使用道具 举报

发表于 10-1-2008 02:03 AM | 显示全部楼层
介意把完整的query放上来吗?不然很难猜到你要什么。。。
回复

使用道具 举报

Follow Us
 楼主| 发表于 10-1-2008 08:57 AM | 显示全部楼层
原帖由 max^^ 于 10-1-2008 02:03 AM 发表
介意把完整的query放上来吗?不然很难猜到你要什么。。。


就在主楼啊..

select PROD_CODE, isnull(qty,0.00) as Qty from TABLEa
where prod_code in ('001', '002', '003')



我要它会显示:
Prod_code            Qty
001                        1
002                        0  
003                        56

而不是:
Prod_code, Qty
001                        1
003                        56


* 少了002....的NULL QTY..





[ 本帖最后由 panic_tee 于 10-1-2008 08:59 AM 编辑 ]
回复

使用道具 举报

发表于 10-1-2008 01:16 PM | 显示全部楼层
如果拿掉isnull,002会出现吗?
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 10-1-2008 03:29 PM | 显示全部楼层
原帖由 max^^ 于 10-1-2008 01:16 PM 发表
如果拿掉isnull,002会出现吗?


一样不会....

就很奇怪.....为什么是AMOUNT...就会出现.....QTY就不会?
回复

使用道具 举报

发表于 10-1-2008 10:23 PM | 显示全部楼层
哪里来的sum(qty)??
回复

使用道具 举报

发表于 10-1-2008 11:44 PM | 显示全部楼层
select * 呢?
回复

使用道具 举报

 楼主| 发表于 12-1-2008 02:20 PM | 显示全部楼层
原帖由 神仙祖宗 于 10-1-2008 10:23 PM 发表
哪里来的sum(qty)??


抱歉, 我又写错了...

应该是.....sum(isnull(qty,0.00)) as Qty from TABLEa.....
回复

使用道具 举报

 楼主| 发表于 12-1-2008 02:21 PM | 显示全部楼层
原帖由 max^^ 于 10-1-2008 11:44 PM 发表
select * 呢?


select * 的话...

就有一堆出来了....当然如果002没有QTY的话, 就不会显示出来......我要的是如果没有QTY还是会显示0出来.
回复

使用道具 举报

发表于 12-1-2008 04:35 PM | 显示全部楼层
如果是select * from单一的table也没有的话,很明显是没有这个record了。。

如果是select from 数个tables的话,就要看看query的join法。。

如果是select from view的话,就要看看view里面是怎么join法咯。。
回复

使用道具 举报

 楼主| 发表于 13-1-2008 01:50 PM | 显示全部楼层
原帖由 max^^ 于 12-1-2008 04:35 PM 发表
如果是select * from单一的table也没有的话,很明显是没有这个record了。。

如果是select from 数个tables的话,就要看看query的join法。。

如果是select from view的话,就要看看view里面是怎么join法咯。。


如果是select * from单一的table也没有的话,没有这个record.....有没有办法显示出来QTY是0嘞?
回复

使用道具 举报

发表于 14-1-2008 01:00 AM | 显示全部楼层
data都不存在要怎么display啊??没办法啦。。
除非那个002是有reference的就可以用那个reference的table来做left join。。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 14-1-2008 08:55 AM | 显示全部楼层
原帖由 max^^ 于 14-1-2008 01:00 AM 发表
data都不存在要怎么display啊??没办法啦。。
除非那个002是有reference的就可以用那个reference的table来做left join。。


一定要LEFT JOIN?

Inner join...不可以?

RIGHT JOIN嘞?
回复

使用道具 举报

发表于 14-1-2008 09:33 AM | 显示全部楼层
酱来解释吧。。

如果我有tableA和tableB,

tableA inner join tableB on tableA.xxx = tableB.xxx 就是两个table都要有相同的xxx才会diplay

tableA left join tableB on tableA.xxx = tableB.xxx 呢,就是tableA的所有records都会diplay,tableB如果没有record的话就是null

而tableA right join tableB on tableA.xxx = tableB.xxx 呢,和left join相反,tableB的所有records都会diplay,tableA如果没有record的话就display null

left join和right join的用法大概是一样的,分别只是哪个table是parent哪个是child,还有你要怎样的display。。
回复

使用道具 举报

 楼主| 发表于 14-1-2008 11:22 AM | 显示全部楼层
原帖由 max^^ 于 14-1-2008 09:33 AM 发表
酱来解释吧。。

如果我有tableA和tableB,

tableA inner join tableB on tableA.xxx = tableB.xxx 就是两个table都要有相同的xxx才会diplay

tableA left join tableB on tableA.xxx = tableB.xxx 呢,就是 ...


是 left outer join 和 right outher join 吧?
回复

使用道具 举报

发表于 14-1-2008 11:35 AM | 显示全部楼层
原帖由 panic_tee 于 14-1-2008 11:22 AM 发表


是 left outer join 和 right outher join 吧?


没有outer也可以吧?
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


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

GMT+8, 24-9-2025 10:27 AM , Processed in 0.131177 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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