我有两张表,如下面
工作:
id | user_id | JOB_TITLE
匹配:id | job_id | USER_ID
作业和匹配表之间存在一对多的关系。一个工作有多个匹配。
我想要的作业列表包含以下两个匹配项:
{Binding RelativeSource={RelativeSource TemplatedParent},Path=CustomControlProperty}
请帮助我解决这个问题。提前谢谢。
我已经搜索了很多这个问题,大多数博客都给了我同样的解决方案,但是这对我来说不起作用。
Jobs => [
'0' => [
'job_title' => 'abc',
'Matches' => [
'0' => [
'id',
'job_id',
'user_id',
],
'0' => [
'id',
'job_id',
'user_id',
]
]
],
'1' => [
'job_title' => 'abc',
'Matches' => [
'0' => [
'id',
'job_id',
'user_id',
],
'0' => [
'id',
'job_id',
'user_id',
]
]
]
]
答案 0 :(得分:0)
您需要使用连接提取该数据,然后创建一个变量并在其上保存行号(@num)。
我们还需要另一个变量来保存“group”id(在这种情况下为job id),以便在出现其他作业时重新启动行计数。
最后,我们用@num过滤你想要的行数。请记住,matchNO是一个计算字段,因此您无法过滤where where statment,而是使用。
set @num := 0, @job := 0;
select j.job_title, m.id, m.job_id, m.user_id,IF(@job = j.id,@num:=@num+1,@num:=1) as matchNO,@job:=j.id
from jobs j
left join matches m on j.id = m.job_id
having matchNO <= 2;
我希望它有所帮助