Нужна помощь, чтобы присоединиться к столу - PullRequest
1 голос
/ 25 ноября 2008

У меня есть функция, которая экспортирует таблицу в CSV, и в запросе я устанавливаю, какие поля будут экспортироваться.

Вот запрос:

SELECT lname, fname, email, address1, address2, city, 
state, zip, venue_id, dtelephone, etelephone, tshirt FROM volunteers_2009

Поле venue_id - это идентификатор места, которое указано в другой таблице (места)

Так что волонтеры_2009.venue_id = venues.id

Когда я открываю файл CSV, он отображает venue_id, который я понимаю, но мне нужна помощь, чтобы изменить запрос, чтобы вставить название места (venues.venue_name) в файл CSV.

Любая помощь приветствуется.

Ответы [ 3 ]

1 голос
/ 25 ноября 2008
SELECT a.lname, a.fname,a. email, a.address1,a. address2, a.city, 
    a.state, a.zip, a.venue_id, a.dtelephone, a.etelephone, a.tshirt,
    COALESCE(b.venue_name,'') AS VenueName
FROM volunteers_2009 a
LEFT JOIN venues b ON b.id=a.venue_id
0 голосов
/ 25 ноября 2008
SELECT lname, fname, email, address1, address2, city,   
state, zip, b.venue_name, dtelephone, etelephone, tshirt FROM   
volunteers_2009 a, venues b  
where a.venue_id = b. venue_id

используйте правильный псевдоним, если в обеих таблицах есть столбцы с одинаковыми именами.

--- РЕДАКТИРОВАТЬ , чтобы все строки из мест проведения использовали внешнее объединение как

SELECT lname, fname, email, address1, address2, city,   
state, zip, b.venue_name, dtelephone, etelephone, tshirt FROM  
volunteers_2009 a(+), venues b  
where a.venue_id = b. venue_id
0 голосов
/ 25 ноября 2008

Стандартный SQL-запрос для этого (при условии, что вы хотите и идентификатор, и имя для места):

SELECT a.lname as lname, a.fname as fname, a.email as email,
    a.address1 as address1, a.address2 as address2, a.city as city, 
    a.state as state, a.zip as zip, a.venue_id as venue_id,
    b.venue_name as venue_name, a.dtelephone as dtelephone,
    a.etelephone as etelephone, a.tshirt as tshirt
FROM volunteers_2009 a, venues b
WHERE a.venue_id = b.id
AND a.venue_id IS NOT NULL
UNION ALL
SELECT a.lname as lname, a.fname as fname, a.email as email,
    a.address1 as address1, a.address2 as address2, a.city as city, 
    a.state as state, a.zip as zip, a.venue_id as venue_id,
    '' as venue_name, a.dtelephone as dtelephone,
    a.etelephone as etelephone, a.tshirt as tshirt
FROM volunteers_2009 a
WHERE a.venue_id IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...