SQL查询-选择包含不同表中数据的行
我有两张桌子。e、 g:SQL查询-选择包含不同表中数据的行,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,我有两张桌子。e、 g: table1: |Alias1|Alias2 |Alias3| --------------------- |qaz | **abc**def |wsx | |edc |rfv |tgb | table2: |Alias1 |Alias2 |Alias3| --------------------- |**abc** | qwe |rty | |zxc |zxc |vbn |
table1:
|Alias1|Alias2 |Alias3|
---------------------
|qaz | **abc**def |wsx |
|edc |rfv |tgb |
table2:
|Alias1 |Alias2 |Alias3|
---------------------
|**abc** | qwe |rty |
|zxc |zxc |vbn |
我只想显示table1
中的行,其中table2
中的alias1
包含在table1
中的Alias2
中。请尝试:
select * from table1 t1
where exists ( select 1 from table2 t2
where t2.Alias1 = t1.Alias2)
尝试:
尝试:
尝试:
我希望下面的问题能有所帮助
CREATE TABLE #Table1 (
Alias1 VARCHAR(35),
Alias2 VARCHAR(35),
Alias3 VARCHAR(35)
)
Go
CREATE TABLE #Table2 (
Alias1 VARCHAR(35),
Alias2 VARCHAR(35),
Alias3 VARCHAR(35)
)
GO
INSERT INTO #Table1(Alias1,Alias2,Alias3)
SELECT 'qaz','**abc**','wsx'
UNION ALL
SELECT 'edc','rfv','tgb'
GO
INSERT INTO #Table2(Alias1,Alias2,Alias3)
SELECT '**abc**','qwe','rty'
UNION ALL
SELECT 'zxc','zxxc','vbn'
GO
SELECT
t1.Alias1,
t1.Alias2,
t1.Alias3
FROM #Table1 t1
JOIN #Table2 t2
ON t1.Alias2 = t2.Alias1
GO
DROP TABLE #Table1
DROP TABLE #Table2
我希望下面的问题能有所帮助
CREATE TABLE #Table1 (
Alias1 VARCHAR(35),
Alias2 VARCHAR(35),
Alias3 VARCHAR(35)
)
Go
CREATE TABLE #Table2 (
Alias1 VARCHAR(35),
Alias2 VARCHAR(35),
Alias3 VARCHAR(35)
)
GO
INSERT INTO #Table1(Alias1,Alias2,Alias3)
SELECT 'qaz','**abc**','wsx'
UNION ALL
SELECT 'edc','rfv','tgb'
GO
INSERT INTO #Table2(Alias1,Alias2,Alias3)
SELECT '**abc**','qwe','rty'
UNION ALL
SELECT 'zxc','zxxc','vbn'
GO
SELECT
t1.Alias1,
t1.Alias2,
t1.Alias3
FROM #Table1 t1
JOIN #Table2 t2
ON t1.Alias2 = t2.Alias1
GO
DROP TABLE #Table1
DROP TABLE #Table2
我希望下面的问题能有所帮助
CREATE TABLE #Table1 (
Alias1 VARCHAR(35),
Alias2 VARCHAR(35),
Alias3 VARCHAR(35)
)
Go
CREATE TABLE #Table2 (
Alias1 VARCHAR(35),
Alias2 VARCHAR(35),
Alias3 VARCHAR(35)
)
GO
INSERT INTO #Table1(Alias1,Alias2,Alias3)
SELECT 'qaz','**abc**','wsx'
UNION ALL
SELECT 'edc','rfv','tgb'
GO
INSERT INTO #Table2(Alias1,Alias2,Alias3)
SELECT '**abc**','qwe','rty'
UNION ALL
SELECT 'zxc','zxxc','vbn'
GO
SELECT
t1.Alias1,
t1.Alias2,
t1.Alias3
FROM #Table1 t1
JOIN #Table2 t2
ON t1.Alias2 = t2.Alias1
GO
DROP TABLE #Table1
DROP TABLE #Table2
我希望下面的问题能有所帮助
CREATE TABLE #Table1 (
Alias1 VARCHAR(35),
Alias2 VARCHAR(35),
Alias3 VARCHAR(35)
)
Go
CREATE TABLE #Table2 (
Alias1 VARCHAR(35),
Alias2 VARCHAR(35),
Alias3 VARCHAR(35)
)
GO
INSERT INTO #Table1(Alias1,Alias2,Alias3)
SELECT 'qaz','**abc**','wsx'
UNION ALL
SELECT 'edc','rfv','tgb'
GO
INSERT INTO #Table2(Alias1,Alias2,Alias3)
SELECT '**abc**','qwe','rty'
UNION ALL
SELECT 'zxc','zxxc','vbn'
GO
SELECT
t1.Alias1,
t1.Alias2,
t1.Alias3
FROM #Table1 t1
JOIN #Table2 t2
ON t1.Alias2 = t2.Alias1
GO
DROP TABLE #Table1
DROP TABLE #Table2
太好了。你试过什么?这不是一个很难的SQL查询。非常简单的直接连接..那么问题是什么呢?我想他使用“contain”这个词意味着他在寻找部分匹配。所以这不仅仅是这两个字段的内部连接。OP应该明确他想要什么。在这个上下文中包含的内容可以是Abigous。这太好了。你试过什么?这不是一个很难的SQL查询。非常简单的直接连接..那么问题是什么呢?我想他使用“contain”这个词意味着他在寻找部分匹配。所以这不仅仅是这两个字段的内部连接。OP应该明确他想要什么。在这个上下文中包含的内容可以是Abigous。这太好了。你试过什么?这不是一个很难的SQL查询。非常简单的直接连接..那么问题是什么呢?我想他使用“contain”这个词意味着他在寻找部分匹配。所以这不仅仅是这两个字段的内部连接。OP应该明确他想要什么。在这个上下文中包含的内容可以是Abigous。这太好了。你试过什么?这不是一个很难的SQL查询。非常简单的直接连接..那么问题是什么呢?我想他使用“contain”这个词意味着他在寻找部分匹配。所以这不仅仅是这两个字段的内部连接。OP应该明确他想要什么。在这个上下文中包含的内容可以是abiguous。他在表1的第一行,别名2的值,显示的是'abcdef',而不仅仅是'abc',所以在他的示例中,查询不会产生匹配项。他不是在寻找精确的匹配。这也是Pieter B发布的同一个查询。他的表1的第一行,别名2的值,显示“abcdef”,而不仅仅是“abc”,因此在他的示例中,该查询不会产生匹配项。他不是在寻找精确的匹配。这也是Pieter B发布的同一个查询。他的表1的第一行,别名2的值,显示“abcdef”,而不仅仅是“abc”,因此在他的示例中,该查询不会产生匹配项。他不是在寻找精确的匹配。这也是Pieter B发布的同一个查询。他的表1的第一行,别名2的值,显示“abcdef”,而不仅仅是“abc”,因此在他的示例中,该查询不会产生匹配项。他不是在寻找精确的匹配。这也是Pieter B发布的相同查询。