【发布时间】:2018-01-11 12:17:29
【问题描述】:
所以我有两个看起来像这样的表:
nalog:
prod_num
id
qa_stavka_kontrola:
status
id_nalog
id
redak --question id
第二个表用于存储关于第一个表中包含的书籍的是或否答案(在列 status(boolean) 中)。第二个表的多行是指第一个表中的一行。我想做一个看起来像这样的报告:
|prod_num | question 1 | question 2 | question 3 |
|52 | 1 | 0 | 1 |
|53 | 0 | 1 | 1 |
这是我的查询,但速度非常慢:
select nalog.prod_num
, r1.status as question1
, r2.status as question2
, r3.status as question3
from nalog
left join qa_stavka_kontrola as r1
on nalog.id=r1.id_nalog and r1.redak=1 and (r1.status=1 or r1.status=0)
left join qa_stavka_kontrola as r2
on nalog.id=r2.id_nalog and r2.redak=2 and (r2.status=1 or r2.status=0)
left join qa_stavka_kontrola as r3
on nalog.id=r3.id_nalog and r3.redak=3 and (r3.status=1 or3.status=0)
where nalog.date BETWEEN '2017-09-01' and '2018-01-11'
group by nalog.prod_num, r1.status, r2.status, r3.status
【问题讨论】:
-
所以最多三个问题? qa_stavka_kontrola 中的每个 id_nalog 和 redak 不能有多个条目?