Mysql 然后在选择的情况下使用条件视图来构建视图
我正在尝试构建一个链接多个表的视图 它是一个事件时间表列表。这个项目的一个特点是有一个带有ID和NAME列的Companys表Mysql 然后在选择的情况下使用条件视图来构建视图,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我正在尝试构建一个链接多个表的视图 它是一个事件时间表列表。这个项目的一个特点是有一个带有ID和NAME列的Companys表 如果mainSubcategory是217,那么我只想使用companys.name。这很有效 如果Main子类别为216,我需要: 从company\u event\u关联的\u companys中获取company\u id,其中company\u id=companys.main子类别 使用该公司id以companys.name填充该记录的bands列,其中com
CREATE OR REPLACE VIEW v_events_7 AS
SELECT company_events.id,
companies.city,
company_events.start_date,
company_events.start_time,
company_event_associated_companies.company_id,
CASE
WHEN companies.mainSubcategory = '217'
THEN companies.name
WHEN companies.mainSubcategory = '216'
THEN companies.name /*This is where I need the name as described above*/
END Band
FROM `company_events`
更新-下面的代码与Panjak在回答中提供的代码略有不同。我得把那辆车挪动一下
(CASE
WHEN
companies.mainSubcategory = '217'
THEN
companies.name
WHEN
companies.mainSubcategory = '216') AND
companies.id = company_event_associated_companies.company_id)
THEN
(SELECT companies.name FROM companies WHERE
companies.id = '332')
END ) AS 'Band'
注意-我将companys.id硬连线到332,但我确信当我使用实际的company id提取字段时,它会工作
请尝试此查询:
非常感谢。我做了一个小的修改,作为更新添加到原始问题中。你让我走对了方向!
CREATE OR REPLACE VIEW v_events_7 AS
SELECT company_events.id,
companies.city,
company_events.start_date,
company_events.start_time,
company_event_associated_companies.company_id,
(CASE WHEN companies.mainSubcategory = '217'
THEN companies.name
WHEN companies.mainSubcategory = '216'
THEN companies.name
ELSE (SELECT columnName FROM tableName WHERE
companies.mainSubcategory = 'YourData'
/*This is where I need the name as described above*/
END END) Band
FROM `company_events`