再次有请 第一流的 SELECT 高手. 另请两位版主说说(可用分的长分规则,本人的可用分严重量不足,上两个星期好像只长了 20-30 分)

ALLTEC 2001-07-30 10:41:51
表 (表名: TEST)

//ITEM_NO,VENDOR_NO,PRICE (物料,供应商,单价)

ITEM_NO VENDOR_NO PRICE
A V001 5
A V002 3
A V003 2
B V009 4
B V008 6



结果

-----------------------------------------------
A V001 5 V002 3 V003 2
B V009 4 V008 6


注:以上一个物料最多不会超过 3 个供应商, 但有可能少于3个.

...全文
1138 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbdesigner 2001-08-02
  • 打赏
  • 举报
回复
我是在MSSQLSERVER7中通过的,ASA 6.0我试过,的确不行,我一时也难以解释,以后查查ASA的资料。
leeyoong 2001-08-02
  • 打赏
  • 举报
回复
To pbdesigner(MIS/ERP开发):
为什么我照搬你的语句,没能得到所希望的结果呢?(注:在ASA 6.0下测试)
phenixyu 2001-08-01
  • 打赏
  • 举报
回复
业务逻辑的范围很广,包括显示、存取数据规则等。其实就是界面(广义)。
而数据逻辑主要指数据结构以及数据之间的联系。比如有帐户数据,其中包括银行数据,那么就应该单独建立银行数据,然后用唯一索引指向银行数据,银行数据可能会很复杂,那得再继续建立数据表。但很多人是不会这样做的,通通合在一起,为什么?显示方便,尤其像PB这样用DATAWINDOW的开发方式。总之,应该自顶向下地分解数据,数据应该是完全独立的,而且之间是必然存在联系的。
而业务逻辑的设计是很麻烦的,主要取决用户的要求。在程序设计上实现业务逻辑应该以事件方式处理。比如提交前检查数据的合法性应该在“提交前”事件完成,而不要在“提交”的按钮上单击事件中完成。总之,细化业务于事件。
像以上的Select问题,根本是一种误区。select所要做的只是把数据检索出来(数据逻辑),而显示只是把数据合理排列(业务逻辑),难道显示方式改变了,要重新写一次select?
以上讨论主要不针对编程语言,但如果让我推荐,Delphi是做得很完美的,所有数据的流动从库到字段都可以跟踪,而且数据对象封装得很棒,让你灵活实现与快速开发并存。而结构上应该首推MIDAS.当然跨平台的话,首选CORBA.
EdwinYeah 2001-08-01
  • 打赏
  • 举报
回复
to phenixyu(不死鸟):

>>开发数据库最忌就是把业务逻辑与数据逻辑混淆在一起,

可以举个例子说明一下吗?请指教
phenixyu 2001-08-01
  • 打赏
  • 举报
回复
研究这种问题干什么?真无聊
你只要正常select出来,怎么显示是界面的问题。开发数据库最忌就是把业务逻辑与数据逻辑混淆在一起,简单的系统还看不出问题,稍微复杂一点的后果肯定是痛苦。
ALLTEC 2001-07-31
  • 打赏
  • 举报
回复
up
pbdesigner 2001-07-31
  • 打赏
  • 举报
回复
TO:HSB8(八哥)
我也是苦苦想出来的啊,况且语句还有很大的局限性。我认为HSB8(八哥)是个高手,值得我等去学的东西多着呢。
hzslx 2001-07-31
  • 打赏
  • 举报
回复
up
nthb2001 2001-07-31
  • 打赏
  • 举报
回复
看来只有建表了~~~~~~~
pbdesigner 2001-07-31
  • 打赏
  • 举报
回复
若是在PB,当然可以用crosstab,这是我想的第一种方法;第二种方法就是建临时表;第三种方法就是上面我讲的。相对来说,前两种虽然步骤麻烦些,但比较容易想出。
duker 2001-07-31
  • 打赏
  • 举报
回复
数据多不多,如果多的话,弄到excel来个数据透视不就的了。
如果数据多的话,写个transact sql 或者pl sql的存储过程。
pbdesigner 2001-07-30
  • 打赏
  • 举报
回复
建临时表的做法比较容易,我就不写了。目前我还没想出可支持‘*’的方法,所以若多于三个供应商则适当增加栏位。荔枝啊荔枝,老是出些怪题,分数还少得可怜,反正你就在市政府那边,我两站就到了,看我不吃了你。呵呵。。。因我的代理服务器不能一次提交稍多的文字,你若要答案,把你的QQ或E-Mail留在这儿,我给你,你再帮我回复到这儿与大家共享吧。
hzslx 2001-07-30
  • 打赏
  • 举报
回复
我的分一天好像不到5分
caolei1974 2001-07-30
  • 打赏
  • 举报
回复
帮你up
山野村夫 2001-07-30
  • 打赏
  • 举报
回复
每天只涨5分???!!!
liulee 2001-07-30
  • 打赏
  • 举报
回复
我觉得这个问题如果避开sql语法来处理可能更容易一些实现。
譬如:反正最多三个,不是吗?select distinct就可以出现了,然后行/列置换到一个external中,比用crosstab来的直观和简便。


crazylk 2001-07-30
  • 打赏
  • 举报
回复
呵呵,用crosstab是可以的,关键是用摸版生成后自己再进行分组和调整。但是问题是如果东西多了,呵呵,非法操作就出来了。
wangsw 2001-07-30
  • 打赏
  • 举报
回复
top 1:是求第一个记录!!
wangsw 2001-07-30
  • 打赏
  • 举报
回复
用CROSSTAB
用临时表
用数据窗(GROUP的)!
不行就用COURSOR
pbdesigner 2001-07-30
  • 打赏
  • 举报
回复
TO:HSB8(八哥) 
我试过的,没有问题。
加载更多回复(11)

1,072

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧