比较急的SQL语句问题,请高手帮忙! ( 积分: 100 )

  • 主题发起人 主题发起人 lucky.gong
  • 开始时间 开始时间
L

lucky.gong

Unregistered / Unconfirmed
GUEST, unregistred user!
我在SQL数据库有一表table&nbsp;A&nbsp;,结构如下:<br>编号&nbsp;产品号&nbsp;&nbsp;物编号&nbsp;&nbsp;&nbsp;物名称<br>001&nbsp;&nbsp;&nbsp;U001&nbsp;&nbsp;&nbsp;OBG&nbsp;&nbsp;&nbsp;&nbsp;OBG&nbsp;of&nbsp;U001<br>001&nbsp;&nbsp;&nbsp;U001&nbsp;&nbsp;&nbsp;IBX&nbsp;&nbsp;&nbsp;&nbsp;IBX&nbsp;of&nbsp;U001<br>002&nbsp;&nbsp;&nbsp;M001&nbsp;&nbsp;&nbsp;OCT&nbsp;&nbsp;&nbsp;&nbsp;OCT&nbsp;of&nbsp;M001<br>003&nbsp;&nbsp;&nbsp;M003&nbsp;&nbsp;&nbsp;OCT&nbsp;&nbsp;&nbsp;&nbsp;OCT&nbsp;of&nbsp;M003<br>003&nbsp;&nbsp;&nbsp;M003&nbsp;&nbsp;&nbsp;IBX&nbsp;&nbsp;&nbsp;&nbsp;IBX&nbsp;of&nbsp;M003&nbsp;&nbsp;&nbsp;<br>想实现这种结果<br>001&nbsp;&nbsp;U001&nbsp;&nbsp;&nbsp;&nbsp;OBG/IBX&nbsp;&nbsp;&nbsp;OBG&nbsp;of&nbsp;U001&nbsp;/IBX&nbsp;of&nbsp;U001<br>002&nbsp;&nbsp;M001&nbsp;&nbsp;&nbsp;&nbsp;OCT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OCT&nbsp;of&nbsp;M001<br>003&nbsp;&nbsp;M003&nbsp;&nbsp;&nbsp;&nbsp;OCT/IBX&nbsp;&nbsp;&nbsp;OCT&nbsp;of&nbsp;M003&nbsp;/&nbsp;IBX&nbsp;of&nbsp;M003<br><br>请问我该如何实现,谢谢!
 
我自己顶一下
 
新建一个过渡表,将两表合并更新,即可
 
[:)]好象一个SQL语句做不出来,要用一个过渡表,要么就改变表结构
 
楼上两位朋友,能否说详细点,谢谢
 
create&nbsp;function&nbsp;dbo.f_str1(@col1&nbsp;varchar(10),&nbsp;@col2&nbsp;varchar(10))<br>returns&nbsp;varchar(100)<br>as<br>begin<br> declare&nbsp;@re&nbsp;varchar(100)<br> set&nbsp;@re=''<br> select&nbsp;@re=@re+'/'+物编号<br> from&nbsp;tb<br> where&nbsp;编号=@col1&nbsp;and&nbsp;产品号=@col2<br> return(stuff(@re,1,1,''))<br>end<br>go<br><br><br>create&nbsp;function&nbsp;dbo.f_str2(@col1&nbsp;varchar(10),&nbsp;@col2&nbsp;varchar(10))<br>returns&nbsp;varchar(100)<br>as<br>begin<br> declare&nbsp;@re&nbsp;varchar(100)<br> set&nbsp;@re=''<br> select&nbsp;@re=@re+'/'+物名称<br> from&nbsp;tb<br> where&nbsp;编号=@col1&nbsp;and&nbsp;产品号=@col2<br> return(stuff(@re,1,1,''))<br>end<br>go<br><br><br>select&nbsp;<br>编号,产品号,<br>dbo.f_str1(编号,产品号),<br>dbo.f_str2(编号,产品号)<br>from&nbsp;tb&nbsp;group&nbsp;by&nbsp;编号,产品号
 
非常感谢s00000000001,确实可以达到我的要求.但是,我想<br>select&nbsp;编号,产品号,dbo.f_str1(编号,产品号),dbo.f_str2(编号,产品号)<br>from&nbsp;tb&nbsp;group&nbsp;by&nbsp;编号,产品号&nbsp;&nbsp;<br>作为一视图,供其它表格连起来调用,总提示连接超时,&nbsp;3.6万条记录.<br>请问有没有什么办法.&nbsp;谢谢
 
算了,我自己研究吧.非常感谢s00000000001
 
下列情况下必须指定视图中每列的名称:&nbsp;<br>&nbsp;&nbsp;1/视图中的任何列都是从算术表达式、内置函数或常量派生而来。<br>&nbsp;&nbsp;2/视图中有两列或多列原应具有相同名称(通常由于视图定义包含联接,因此来自两个或多个不同表的列具有相同的名称)。<br>&nbsp;&nbsp;3/希望为视图中的列指定一个与其源列不同的名称。(也可以在视图中重命名列。)无论重命名与否,视图列都会继承其源列的数据类型。
 
谢谢银雨辰朋友
 
后退
顶部