1
比方说,一个单独的专栏中,我有两个表 - people
和bonus
如何把一个连接表的条件算在同一连接表
------------
people
------------
people_id | company_id | job_id
1 | 1 | 2
2 | 1 | 4
3 | 2 | 1
4 | 2 | 3
5 | 3 | 5
------------
bonus
------------
job_id | bonus_id
1 | 101
2 | 102
3 | 103
现在,我想有一个连接表像下面
-------------
JOINED TABLE
-------------
people_id | company_id | job_id | bonus_id | no_of_bonus_for_company
1 | 1 | 2 | 102 | 1
2 | 1 | 4 | NULL | 1
3 | 2 | 1 | 101 | 2
4 | 2 | 3 | 103 | 2
5 | 3 | 5 | NULL | 0
我必须people_id
主要的搜索项中 -
SELECT p.people_id,
p.company_id,
p.job_id,
b.bonus_id
FROM people p
LEFT JOIN bonus b
ON p.job_id = b.job_id
WHERE p.people_id IN (1,2,3,4,5)
ORDER BY p.people_id ASC;
但是,如何获得连接表的第五列?它实际上计数不。奖励ID的每个公司ID在连接表本身。
可以使用sqlfiddle?它会更容易帮助您 – jcho360
在这里你去 - http://sqlfiddle.com/#!2/63dbc/1/0 – banskt
我没有得到'no_of_bonus_for_company'值来自哪里? – jcho360