2013-07-30 21 views
5

Mam różne tabele o tej samej strukturze i chciałbym dołączyć do nich przez jedną z ich kolumn.SQL Dołącz do dwóch tabel bez relacji

Problem polega na tym, że nie udostępniają informacji w tej kolumnie.

Table 1 - Type A: 

Name | Value 

Table 2 - Type B: 

Name | Value 

wynikowa tabela:

(w jednej kolumnie)

nameFromA 

nameFromB 
... 

Do tej pory próbowałem:

SELECT TABLE1.NAME, TABLE2.NAME 
FROM TABLE1, TABLE2 
WHERE TABLE1.NAME = 'SearchQuery' 
OR TABLE2.NAME = 'SearchQuery' LIMIT 2; 

wiem, że moje zapytanie jest źle, bo Wywołuję więcej kolumn, niż chcę, ale nie wiem, jak połączyć wszystko w jednej kolumnie. Jak mogę to zrobić?

+2

pokazać nam swoje dane! –

+0

Dzięki za odpowiedź. Czego dokładnie potrzebujesz? Moja baza danych jest już zbudowana. Ma 21 tabel z 30 kolumnami. –

Odpowiedz

6

Czy próbowałeś?

SELECT TABLE1.NAME 
FROM TABLE1 
WHERE TABLE1.NAME = 'SearchQuery' 

UNION 

SELECT TABLE2.NAME 
FROM TABLE2 
WHERE TABLE2.NAME = 'SearchQuery'; 

Możesz użyć UNION ALL jeśli nie chcesz, aby wykluczyć powtarzające się wartości.

Aby ograniczyć zestaw wyników można zrobić coś takiego:

SELECT * FROM (HERE GOES ABOVE QUERY) LIMIT 2; 
+0

Prawdopodobnie również "ALL", po prostu nie mogę umieścić "UNION" i "ALL" obok siebie w moich postach z powodu firewalla ... :( –

+0

@GoatCO tak, jeśli chce uzyskać wartości powtarzane. – letiagoalves

+0

Idealne dziękuję –

0

Problem polega na tym, że nie dzielić się informacjami w tej kolumnie.

Jeśli nie udostępnia żadnych informacji w kolumnie, którą chcesz dołączyć, sprzężenie jest meaningless.


Prosty dołączyć wyglądałby następująco:

SELECT Name FROM Table1 t1 
JOIN Table2 ON (t1.Name=t2.Name) 
Powiązane problemy