2012-02-01 47 views
0

我有以下3個欄表SQL選擇其中名稱中包含查詢

TableA 
Name Description ..... 
TableB 
Name Description .... 
TableC 
Name Description .... 

我想如果名稱中包含做,我選擇這三個表 的名稱和說明一個選擇查詢我的查詢。

+0

到目前爲止您的查詢是? – Ibu 2012-02-01 18:36:39

+0

你能發表一個你想要的結果的例子嗎? – 2012-02-01 18:38:43

+0

我有3個不同的sql select查詢,有沒有辦法在一個組合查詢中做所有這些? – raym0nd 2012-02-01 18:39:12

回答

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%' 
+0

之前的「工會」,謝謝!我以前從來沒有聽說過「工會」。 – raym0nd 2012-02-01 18:41:17

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),目前尚不清楚。

+0

謝謝!我從來沒有聽說過 – raym0nd 2012-02-01 18:40:42

0

假設你希望所有的名稱,從表TableA的說明列,tableB的並表C名字中含有一定的詞,它應該是這樣的:

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, '%') 
2

我認爲這是你是什麼要求。

select * from tableA where name = 'Foo' 
Union 
select * from tableB where name = 'Foo' 
Union 
select * from tableC where name = 'Foo'