2010-02-15 2 views
0

У меня есть две таблицы, которые я хочу запросить и объединить на основе category_id.Синтаксис запроса MySQL UNION

В моей таблице событий есть столбец event_category_id, который создает связь между событием и его категорией. Значение - int.

В моей таблице категорий у меня есть столбец с именем category_id, который является тем, что я хочу совместить, и заменить значение int значением varchar category_name.

Какой у меня синтаксис? Спасибо за помощь!

categories CREATE TABLE wp_wild_dbem_categories ( category_id int(11) NOT NULL auto_increment, имя_категории tinytext NOT NULL, PRIMARY KEY ( category_id ) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

events CREATE TABLE wp_wild_dbem_events ( event_id mediumint(9) NOT NULL auto_increment, event_author mediumint(9) default NULL, event_name tinytext NOT NULL, event_start_time time NOT NULL default '00:00:00', time NOT NULL default '00:00:00', event_end_time event_start_date date NOT NULL default '0000-00-00', event_end_date date default NULL, event_notes text, event_rsvp tinyint(1) NOT NULL default '0', event_seats tinyint(4) default NULL, event_contactperson_id mediumint(9) default NULL, LOCATION_ID mediumint(9) NOT NULL default '0', recurrence_id mediumint(9) default NULL, event_category_id int(11) default NULL, UNIQUE KEY event_id ( event_id ) ) ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=latin1

+1

пожалуйста пост понял ваши структуры таблицы в качестве выхода из 'CREATE TABLE tablename' – dnagirl

ответ

1

Я не думаю, что вы хотите UNION. Вы, наверное, хотите что-то вроде этого:

SELECT e.event_id, e.other_field, c.category_name 
FROM events e JOIN categories c ON (e.category_id=c.category_id) 
WHERE some_condition; 
+0

Спасибо, это отлично, и ты прав, я хотел ПРИСОЕДИНЯТЬСЯ. Ура! – Marty

+0

Хотелось бы, чтобы я мог дать вам больше очков, я просто ссылаюсь на это снова для другого проекта! Благодарю. – Marty

1
select * from events e join categories c on (c.category_id=e.event_category_id); 
1

Это не UNION, но JOIN, если я правильно

SELECT c.category_name, e.* FROM events e JOIN categories c ON (c.category_id = e.event_category_id);