2012-02-28 77 views
0

如果任何人都可以帮助我将这两个选项结合在一起创建一个超赞的声明!SQL选择跨两个数据库的连接。令人困惑:-s

--running对quotingSystem数据库

SELECT 
    CONVERT (varchar, Quote.QuoteID) AS QuoteID, Quote.FirstName, 
    Quote.LastName, Quote.ProductSKU, Quote.ProductID, Quote.Quantity, 
    Quote.CreationDate, 
    CONVERT (CHAR(8), Quote.CreationTime, 8) AS CreationTime, 
    Quote.CompanyName, 
    IncommingQuoteStatus.StatusDesc, Quote.LockedDateTime, 
    Users.FirstName + ' ' + Users.LastName AS UserName 
FROM 
    Quote 
INNER JOIN 
    IncommingQuoteStatus ON IncommingQuoteStatus.StatusID = Quote.Status 
INNER JOIN 
    Users ON Quote.LockedUserID = Users.UserID 
WHERE 
    (Quote.Status > 2 AND Quote.Status < 6) 
ORDER BY 
    QuoteID DESC 

- 在报价系统数据库运行,但是从另一个数据库中值也拉CBretailDB

select 
    D2.stock AS CurrentStock 
from 
    dbo.Quote as D1 
inner join 
    CBretailDB.dbo.products AS D2 ON D1.ProductID = D2.idProduct 

Quote.ProductID上的第一条语句需要加入上D2.idProduct从第二条语句拉CurrentStock

我想这很有道理!

非常感谢

+0

由于克劳斯和马克让我的问题漂亮! – 2012-02-28 13:06:03

回答

1

试试这个:

SELECT CONVERT (varchar, Quote.QuoteID) AS QuoteID, Quote.FirstName, Quote.LastName, 
Quote.ProductSKU, Quote.Quantity, Quote.CreationDate, CONVERT (CHAR(8), 
Quote.CreationTime, 8) AS CreationTime, Quote.CompanyName, 
IncommingQuoteStatus.StatusDesc, Quote.LockedDateTime, Users.FirstName + ' ' + 
Users.LastName AS UserName, D2.stock FROM Quote INNER JOIN IncommingQuoteStatus ON 
IncommingQuoteStatus.StatusID = Quote.Status INNER JOIN Users ON Quote.LockedUserID = 
Users.UserID 
INNER JOIN CBretailDB.dbo.products AS D2 ON Quote.ProductID = D2.idProduct 
WHERE (Quote.Status > 2 AND Quote.Status < 6) ORDER BY QuoteID DESC 
+0

谢谢你克劳斯,完美的作品! – 2012-02-28 13:04:40