表名:资源
res_id | first_name
1 clyde
2 John
3 Rachel
4 Jason
5 Rasmon
6 Pierson
7 Jamson
8 Radamel
表名:probation_hr
probation_id | res_id | month_id | hr_id
1 1 M1 4
2 1 M2 4
3 2 M1 4
4 2 M2 4
表名:probation_feedback
prob_id | reviewer_id | res_id
1 6 null
1 7 null
1 8 null
1 null 1
试用反馈表中的res_id not null表示试用者填写了他的反馈
给定一组resource_id,我想按如下方式获取他的详细信息
resources.first_name,
probation_hr.month_id,
probation_hr.probation_id,
probation_hr.hr_id (also get this id's first name from resources table),
and lastly get all records from probation_feedback table where
probation_hr.probation_id = probation_feedback.probation_id (here there are multiple records, so do i use another array here?)
单个案例案例: RESOURCE_ID = 1 输出: clyde(resources.first_name),4(probation_hr.hr_id),M1(probation_hr.month_id),1(probation_hr.probation_id),数组(来自probation_feedback表的记录,其中probation_id = 1):
1 6 null,
1 7 null
1 8 null
1 null 1
我如何在一个查询中执行此操作?
有可能吗?
如果不可能,我该怎么做? 我使用2D阵列吗?
即时通讯使用php和mysql
提前thanx
答案 0 :(得分:0)
好吧,我没有足够的声誉来发表评论,所以我提出了一个答案。您将使用连接从上面提到的表中获得结果。请找到以下查询以获得结果:
SELECT r.first_anme
, p_h.month_id
, p_h.probation_id
, p_h.hr_id
, p_f.*
FROM probation_feedback p_f
LEFT
JOIN probation_hr p_h
ON p_f.prob_id = p_h.probation_id
LEFT
JOIN resources r
ON r.res_id = p_h.res_id;
这里你会得到多个结果,因为probation_feedback表有多个记录组成相同的prob_id。我不认为你会把probation_feedback表中的记录作为一个数组,但你会获得多行结果。如果有效,请告诉我。谢谢