Left join with condition Left join with condition mysql mysql

Left join with condition


Simply put the "qa bug" criteria in the join:

select t1.*, t2.name from #bug t1 left join #blocking t2 on t1.id = t2.id AND t2.name = 'qa bug'


correct select is:

create table bug (id int primary key, name varchar(20))insert into bug values (1, 'bad name')insert into bug values (2, 'bad condition')insert into bug values (3, 'about box')CREATE TABLE blocking(pk int IDENTITY(1,1)PRIMARY KEY ,id int, name varchar(20))insert into blocking values (1, 'qa bug')insert into blocking values (1, 'doc bug')insert into blocking values (2, 'doc bug')select t1.id, t1.name,(select  b.name from blocking b where b.id=t1.id and b.name='qa bug')from bug t1 


It looks like you want to select only one row from #blocking and join that to #bug. I would do:

select t1.id, t1.name, t2.name as `blockingName` from `#bug` t1left join (select * from `#blocking` where name = "qa bug") t2on t1.id = t2.id