“我正在编写查询以将数据从一个数据库表匹配到另一数据库表”
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结果的输出,什么也没显示”
答案 0 :(得分:0)
我准备好您要测试的语句,如果这对您有用,请用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