• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補(bǔ)償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    MSSQL數(shù)據(jù)庫(kù)跨表和跨數(shù)據(jù)庫(kù)查詢方法簡(jiǎn)介

    發(fā)布時(shí)間:  2012/9/15 15:22:18

    本文主要介紹MSSQL數(shù)據(jù)庫(kù)跨表和跨數(shù)據(jù)庫(kù)查詢的方法,我們假設(shè)有數(shù)據(jù)庫(kù)test1和數(shù)據(jù)庫(kù)test2。其中test1中有表 table1、table2;test2 中有表 table1。三個(gè)表的字段都為為:id、xingming、shijian、shuliang。接下來我們就以上面的條件為例來介紹跨數(shù)據(jù)庫(kù)查詢和跨表查詢的方法。

    一、跨數(shù)據(jù)庫(kù)

    (1)原始:

     

    1. SELECT *  
    2.  
    3.   FROM OPENROWSET('sqloledb',  
    4.  
    5.         'DRIVER={SQL Server};SERVER=127.0.0.1;UID=sa;PWD=ccds',    
    6.  
    7.         test1.dbo.table1)  where xingming='a' 
    8.  
    9.   UNION   all    
    10.  
    11. SELECT *  
    12.  
    13.   FROM OPENROWSET('sqloledb',  
    14.  
    15.         'DRIVER={SQL Server};SERVER=127.0.0.1;UID=sa;PWD=ccds',    
    16.  
    17.         test2.dbo.table1)  where xingming='a' 

     

    (2)簡(jiǎn)化:

     

    1. SELECT * FROM test1.dbo.table1  where xingming='a' 
    2.  
    3.   UNION   all    
    4.  
    5. SELECT * FROM test2.dbo.table1  where xingming='a' 

     

    注意事項(xiàng):dbo 一定要有,不可以沒有。

    二、跨表

    跨表查詢我們?cè)跀?shù)據(jù)庫(kù)test1內(nèi)實(shí)現(xiàn),執(zhí)行以下的代碼:

     

    1. SELECT * FROM table1  where xingming='a' 
    2.  
    3.   UNION   all    
    4.  
    5. SELECT * FROM table2  where xingming='a' 

     

    這就是UNION ALL 的作用。

    如果上面沒有看懂,先建好上面的數(shù)據(jù)庫(kù)和表,下面有個(gè)asp實(shí)例,照抄就可以了。

    文件名:unionall.asp

     

    1. <html> 
    2.  
    3. <head> 
    4.  
    5. <meta http-equiv="Content-Language" content="zh-cn"> 
    6.  
    7. </head> 
    8.  
    9. <body> 
    10.  
    11. <%sqlStr="provider=sqloledb;data source=127.0.0.1;uid=sa;pwd=;database=test1"    '跨庫(kù)時(shí),數(shù)據(jù)庫(kù)名不必指定,如:database=  
    12.  
    13. set conn=server.createObject("adodb.connection")  
    14.  
    15. conn.open sqlStr  
    16.  
    17. set rs=server.createObject("adodb.Recordset")  
    18.  
    19. sql="   SELECT * " 
    20.  
    21. sqlsql=sql&" FROM test1.dbo.table1  where xingming='a' "  
    22.  
    23. sqlsql=sql&" UNION all "  
    24.  
    25. sqlsql=sql&" SELECT * "  
    26.  
    27. sqlsql=sql&" FROM test2.dbo.table1  where xingming='a'"  
    28.  
    29. rs.open sql,conn,1%> 
    30.  
    31. <div align="center"> 
    32.  
    33.  <table border="1" style="border-collapse: collapse" width="388" bordercolor="#0000FF" id="table1"> 
    34.  
    35.   <tr> 
    36.  
    37.    <td height="28" bgcolor="#CCCCCC" align="center"><b>id</b></td> 
    38.  
    39.    <td width="135" height="28" bgcolor="#CCCCCC" align="center"><b>xingming</b></td> 
    40.  
    41.    <td width="109" height="28" bgcolor="#CCCCCC" align="center"><b>shijian</b></td> 
    42.  
    43.    <td width="89" height="28" bgcolor="#CCCCCC" align="center"><b>shuliang</b></td> 
    44.  
    45.   </tr><%if not rs.eof then  
    46.  
    47.   do while not rs.eof%> 
    48.  
    49.  <tr> 
    50.  
    51.    <td height="28" align="center"><%=rs("id")%></td> 
    52.  
    53.    <td width="135" height="28" align="center"><%=rs("xingming")%></td> 
    54.  
    55.    <td width="109" height="28" align="center"><%=rs("shijian")%></td> 
    56.  
    57.    <td width="89" height="28" align="center"><%=rs("shuliang")%></td> 
    58.  
    59.   </tr><%rs.movenext  
    60.  
    61.   loop  
    62.  
    63.   end if  
    64.  
    65. rs.close  
    66.  
    67. set rs=nothing 
    68.  
    69. conn.close  
    70.  
    71. set conn=nothing%> 
    72.  
    73.  </table> 
    74.  
    75. </div> 
    76.  
    77. </body> 
    78.  
    79. </html> 

     

    關(guān)于MSSQL數(shù)據(jù)庫(kù)跨數(shù)據(jù)庫(kù)查詢和跨表查詢的方法就介紹到這里,如果您有更好的方法,歡迎您與我們分享,謝謝!


    本文出自:億恩科技【www.vbseamall.com】

    服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線