我有两个表要根据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}}
答案 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);