簡體   English   中英

通過匹配列的值從兩個數據庫中提取數據

[英]Extracting data from two databases by matching the value of the column

“我正在編寫一個查詢以將數據從一個數據庫表匹配到另一個數據庫表”

          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、Results 之類的結果。”

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 

“我希望 output 類似於 CFG ITEM 結果,它什么也沒顯示”

我准備了你的測試語句,如果這對你用 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM