通过匹配列的值从两个数据库中提取数据

“我正在编写查询以将数据从一个数据库表匹配到另一数据库表”

          Database 1.Table1:      number  CFG    Name
                                   A123   28A    tom
                                   B123   23C    sindy

          Database2.Table2:       ITEM   results
                                   28A    yes
                                    23C   no

如果我搜索数字(如A123),则它必须与CFG和ITEM列匹配,并且显示为CFG,ITEM和结果。”

SELECT database1.table1.number,database1.table1.CFG,database2.table2.ITEM,database2.table2.results 

FROM database1.table1,database2.table2
Where database1.table1.number ='A123'
AND database1.table1.CFG = database2.table2.ITEM 

“我希望得到类似CFG ITEM结果的输出,什么也没显示”

shao__fei 回答:通过匹配列的值从两个数据库中提取数据

我准备好您要测试的语句,如果这对您有用,请用databaseN.tableN替换已声明的表。

DECLARE @Database1Table1 TABLE
                     (number VARCHAR(10) NOT NULL PRIMARY KEY,CFG VARCHAR(10) NOT NULL,Name NVARCHAR(50) NULL)

DECLARE @Database2Table2 TABLE
                     (ITEM VARCHAR(10) NOT NULL PRIMARY KEY,results BIT NOT NULL)

INSERT INTO @Database1Table1
  (number,CFG,Name) 
VALUES
  ('A123','28A',N'tom'),('B123','23C',N'sindy'),('C123','35X',N'no matching sample')

INSERT INTO @Database2Table2
  (ITEM,results) 
VALUES
  ('28A',1),('23C',0)

SELECT d1.number,d1.CFG,d2.ITEM,d2.results
FROM   @Database1Table1 AS d1
INNER JOIN @Database2Table2 AS d2 ON d1.CFG = d2.ITEM
--WHERE  d1.number = 'A123'

使用Where子句,您将得到:

number  CFG     ITEM    results
A123    28A     28A     1

没有:

number  CFG     ITEM    results
A123    28A     28A     1
B123    23C     23C     0
本文链接:https://www.f2er.com/3152760.html

大家都在问