在php-mysql中显示不同的数据有很多问题。我想在两种情况下显示不同的数据。前任:
我有一张table:
tbl\ H响应
| id_reponse | id_atribut | skala | step |
| 1 | 1 | 1 | 1 |
| 1 | 2 | 4 | 1 |
| 1 | 3 | 2 | 1 |
| 1 | 1 | 5 | 2 |
| 1 | 2 | 6 | 2 |
| 1 | 3 | 2 | 2 |
所以,我想这样输出:
| id_reponse | id_atribut | skala step 1 | skala step 2 |
| 1 | 1 | 1 | 5 |
| 1 | 2 | 4 | 6 |
| 1 | 3 | 2 | 2 |
我有这样的代码:
$k = $db->pdo->prepare("select *, (CASE WHEN tbl_hresponder.step = '1' THEN tbl_hresponder.skala END) AS k,
(CASE WHEN tbl_hresponder.step = '2' THEN tbl_hresponder.skala END) AS q
from tbl_hresponder, tbl_atribut
where tbl_hresponder.id_atribut = tbl_atribut.id_atribut
AND tbl_hresponder.id_responder = '".$_GET['report']."'
AND tbl_hresponder.id_fservqual = '".$rfs['id_fservqual']."'
AND tbl_hresponder.step = 1");
1条答案
按热度按时间gywdnpxw1#
你可以试着用
CASE WHEN
以及max
功能。sqlfiddle:http://sqlfiddle.com/#!9/92a73e/4号
结果