我需要在我的查詢中合併到表,所以我可以選擇它,就好像它是一個一樣。同時從兩個表中選擇?
表A:
Objeto | Atributo
1 a
表B:
Palabra | Atributo
2 b
3 b
在我的查詢我想從兩個,所以我需要以某種方式滿足所有行的一個表,在這個例子中選擇應是:
Objeto | Atributo
1 a
2 b
3 b
我該怎麼做?
我需要在我的查詢中合併到表,所以我可以選擇它,就好像它是一個一樣。同時從兩個表中選擇?
表A:
Objeto | Atributo
1 a
表B:
Palabra | Atributo
2 b
3 b
在我的查詢我想從兩個,所以我需要以某種方式滿足所有行的一個表,在這個例子中選擇應是:
Objeto | Atributo
1 a
2 b
3 b
我該怎麼做?
select Objecto, Atributo
from table A
UNION ALL
select Palabra, Atributo
from table B
您正在尋找的東西叫做UNION
這不是一個連接(組乘),這是一個聯合(組除):
SELECT objecto, atributo
FROM a
UNION ALL
SELECT palabra, atributo
FROM b
這看起來像一個UNION語句
select * from table_a
UNION
select Palabra as Objecto, atributo from table_b
你需要的東西,如:
select objeto, atributo from tableA
union all
select palabra as objeto, atributo from tableB
order by 1 asc
聯盟將確保所有的行,從兩個表中包含(一)和order by
子句將它們正確地排序,在關閉的機會,你有完全不同或相同的objeto/palabra
列。
您可能還需要考慮作出這一某種形式的看法,如果它很可能是在很多地方有用的 - 這將大大簡化您的客戶端代碼。
的(a)這是一個選項。另一種是自己使用union
,但這會刪除重複的行,這可能不是你想要的。
由於只有一個問題,我在哪裏添加where子句所以它從兩個選擇?我試圖把它放在最後,我沒有得到正確的結果 – lisovaccaro 2011-12-20 05:40:28
@ Liso22 where子句將在子句之後出現。那就是你將會添加兩個where子句來過濾結果。 – Zohaib 2011-12-20 05:46:08