我有3个包含以下列的表
TableA
Name Description .....
TableB
Name Description ....
TableC
Name Description ....
我想在我选择的位置执行选择查询 这三个表中的名称和描述如果名称包含我的查询。
答案 0 :(得分:5)
SELECT Name, Description
FROM TableA
WHERE Name LIKE '%YourSearch%'
UNION ALL
SELECT Name, Description
FROM TableB
WHERE Name LIKE '%YourSearch%'
UNION ALL
SELECT Name, Description
FROM TableC
WHERE Name LIKE '%YourSearch%'
答案 1 :(得分:4)
你的描述有点不清楚,但听起来你想要一个联盟
SELECT Name, Description FROM TableA where Name = @myNameFilter
UNION ALL
SELECT Name, Description FROM TableB where Name = @myNameFilter
UNION ALL
SELECT Name, Description FROM TableC where Name = @myNameFilter
目前尚不清楚是否需要重复(可能是UNION而不是UNION ALL)。
答案 2 :(得分:2)
我认为这就是你所要求的。
select * from tableA where name = 'Foo'
Union
select * from tableB where name = 'Foo'
Union
select * from tableC where name = 'Foo'
答案 3 :(得分:0)
假设您希望表tableA,tableB和tableC中名称包含某个单词的所有Name,Description列,它应该是这样的:
select Name, Description from TableA where Name like concat('%', word, '%')
UNION
select Name, Description from TableB where Name like concat('%', word, '%')
UNION
select Name, Description from TableC where Name like concat('%', word, '%')