Выберите запрос MAX CASE WHEN [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Выберите запрос MAX CASE WHEN [дубликат]

Сообщение Anonymous »

У меня есть таблицы:
tb_penelaah

Код: Выделить всё

-----------------------------
id_penelaah | nama_penelaah |
-----------------------------
1           | penelaah 1    |
2           | penelaah 2    |
-----------------------------
tb_skill

Код: Выделить всё

----------------------------
id_sill | nama_skill       |
----------------------------
1       | skill 1          |
2       | skill 2          |
----------------------------
tb_skill_reviewer

Код: Выделить всё

-----------------------------------------
skill   | penelaah  | status  | priority|
-----------------------------------------
1       | 1         | A       |  1      |
2       | 1         | B       |  1      |
1       | 2         | A       |  1      |
2       | 2         | A       |  2      |
----------------------------------------
Поэтому я хочу отображать данные на такой странице (в PHP Codeigniter):
Подробнее для Penelaah 1:

Код: Выделить всё

Nama Penelaah : Penelaah 1
Skill A 1 : skill 1
Skill A 2 : -
Skill B 1 : skill 2
SKill B 2 : -
и подробности Пенела 2:

Код: Выделить всё

Nama Penelaah : Penelaah 2
Skill A 1 : skill 1
Skill A 2 : skill 2
Skill B 1 : -
SKill B 2 : -
Я пробовал такой запрос:

Код: Выделить всё

function det_skill_pen($id){
$this->db
->query("SELECT a.nama_penelaah,a.id_penelaah,
MAX(CASE WHEN b.p_status = 'A' AND b.p_urutan = 1 THEN c.nama_skill END) 'SKILL_A1',
MAX(CASE WHEN b.p_status = 'A' AND b.p_urutan = 2 THEN c.nama_skill END) 'SKILL_A2',
MAX(CASE WHEN b.p_status = 'B' AND b.p_urutan = 1 THEN c.nama_skill END) 'SKILL_B1',
MAX(CASE WHEN b.p_status = 'B' AND b.p_urutan = 2 THEN c.nama_skill END) 'SKILL_B2'
FROM tb_penelaah a
LEFT JOIN tb_skill_p b ON b.p_penelaah = a.id_penelaah
LEFT JOIN tb_skill c ON c.id_skill = b.p_skill
GROUP BY a.id_penelaah
ORDER BY id_penelaah");
$query=$this->db->get();
return $query;
}
Но произошла такая ошибка

Произошла ошибка базы данных
Таблицы не используются
SELECT *

кто-нибудь может помочь? Я плохо разбираюсь в SQL-запросах

Подробнее здесь: https://stackoverflow.com/questions/291 ... when-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»