2010-11-18 7 views
1

У меня есть что-то вроде этого запроса (нет, мои таблицы и поля не называются этими именами, но структура такая же) -Почему я не могу выбрать из своего запроса?

SELECT table1.id, table2.id, table1.phone1 
FROM table1 LEFT OUTER JOIN 
    table3 ON table3.id = table1.id LEFT OUTER JOIN 
    table2 ON table3.id2 = table2.id  
    WHERE table1.phone1 IS NOT NULL AND LTRIM(RTRIM(table1.phone1)) <> '' 

UNION 

SELECT table1.id, table2.id, table1.phone2 
FROM table1 LEFT OUTER JOIN 
    table3 ON table3.id = table1.id LEFT OUTER JOIN 
    table2 ON table3.id2 = table2.id  
WHERE table1.phone2 IS NOT NULL AND LTRIM(RTRIM(table1.phone2)) <> '' 

UNION 

SELECT table1.id, table2.id, table2.phone 
FROM table1 LEFT OUTER JOIN 
    table3 ON table3.id = table1.id LEFT OUTER JOIN 
    table2 ON table3.id2 = table2.id  
WHERE table2.phone IS NOT NULL AND LTRIM(RTRIM(table2.phone)) <> '' 

Он работает отлично. Но, когда я пытаюсь выбрать из него (который я в конечном итоге попытаться манипулировать с группой и т.д. площадках, но сейчас просто попытался простой выбор), например так:

SELECT * FROM 
    (SELECT table1.id, table2.id, table1.phone1 
    FROM table1 LEFT OUTER JOIN 
     table3 ON table3.id = table1.id LEFT OUTER JOIN 
     table2 ON table3.id2 = table2.id  
     WHERE table1.phone1 IS NOT NULL AND LTRIM(RTRIM(table1.phone1)) <> '' 

    UNION 

    SELECT table1.id, table2.id, table1.phone2 
    FROM table1 LEFT OUTER JOIN 
     table3 ON table3.id = table1.id LEFT OUTER JOIN 
     table2 ON table3.id2 = table2.id  
    WHERE table1.phone2 IS NOT NULL AND LTRIM(RTRIM(table1.phone2)) <> '' 

    UNION 

    SELECT table1.id, table2.id, table2.phone 
    FROM table1 LEFT OUTER JOIN 
     table3 ON table3.id = table1.id LEFT OUTER JOIN 
     table2 ON table3.id2 = table2.id  
    WHERE table2.phone IS NOT NULL AND LTRIM(RTRIM(table2.phone)) <> '') 

Я получаю ошибку:

Incorrect syntax near ')'. 

Что я делаю неправильно?

ответ

8

Вы пропустили обозначение подзадачи. Рядом с чем-то вроде ...) sub_query_name.

+0

+1: Я могу сказать, что это утро, я не думал об этом, когда смотрел на него. – Powerlord

+0

Большое спасибо! Я знал, что это что-то вроде того, что я забыл ... он работает сейчас :) – froadie

+0

+1 тривиальный, но быстрый поиск! – Konerak