2013-05-30 94 views
0

因此,我試圖在查詢它們時將3個表加入1列。MySQL - 3個不同的表,在列中加入相同的列

這三個表

investigators.nameancientones.namemonsters.name

我習慣叫回所有名稱查詢是

SELECT investigators.name ,ancientones.name ,monsters.name FROM investigators, ancientones, monsters WHERE ((investigators.name LIKE'a%') OR (ancientones.name LIKE'a%')OR (monsters.name LIKE'a%'))

但是這將返回與「名」與表1,2和3 我值3級表中的行要在一列中的所有值,但我沒有那麼多的SQL經驗..

+0

奇怪的標籤,順便說一下。即使目標是將您的查詢用於ajax自動填充,您的問題與此無關。 –

回答

1

你需要使用UNION(或UNION ALL繼續重複)

SELECT name 
FROM investigators 
WHERE name like 'a%' 
UNION 
SELECT name 
FROM anientones 
WHERE name like 'a%' 
UNION 
SELECT name 
FROM monsters 
WHERE name like 'a%' 
+0

謝謝,這個伎倆! – Azylak

0

嘗試使用列名之間的'+'

SELECT investigators.name + ' ' + ancientones.name + ' ' + monsters.name FROM investigators, ancientones, monsters WHERE ((investigators.name LIKE'a%') OR (ancientones.name LIKE'a%')OR (monsters.name LIKE'a%')) 
相關問題