MySQL UNION查询语法

时间:2010-02-15 17:42:20

标签: mysql syntax union

我有两个表要根据category_id查询和合并。

我的事件表有一个名为event_category_id的列,它在事件及其类别之间创建关系。该值为int。

在我的类别表中,我有一个名为category_id的列,这是我想要匹配的列,并将int值替换为category_name的varchar值。

我的语法是什么?谢谢你的帮助!

categories CREATE TABLE {wp_wild_dbem_categories {1}} {CATEGORY_ID {1}} {CATEGORY_NAME {1}} {CATEGORY_ID {1}}

( int(11) NOT NULL auto_increment, wp_wild_dbem_events tinytext NOT NULL, PRIMARY KEY (的event_id ) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 event_author events EVENT_NAME CREATE TABLE event_start_time ( EVENT_END_TIME mediumint(9) NOT NULL auto_increment, event_start_date mediumint(9) default NULL, event_end_date {{ 1}} event_notes tinytext NOT NULL, event_rsvp time NOT NULL default '00:00:00', event_seats time NOT NULL default '00:00:00', event_contactperson_id date NOT NULL default '0000-00-00', LOCATION_ID date default NULL, recurrence_id text, event_category_id tinyint(1) NOT NULL default '0', 的event_id {{1} } {event_id的{1}}

3 个答案:

答案 0 :(得分: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;

答案 1 :(得分:1)

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

答案 2 :(得分:1)

如果我理解正确的话,那不是UNION而是加入

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