MySql Table Order по значениям с разделенной строкой - PullRequest
2 голосов
/ 24 декабря 2011

руководство, если возможно решение.

enter image description here

Мне нужен результат таблицы следующим образом

 RAJ1  RAJ2  ARUN  MUTHU
 -----------------------
 86     74    45   null
 74     86    45   null
 null   74    45    86

Я не знаю с чего начатьреализовать это с помощью процедуры или обычным запросом.

1 Ответ

1 голос
/ 26 декабря 2011
SELECT
  COALESCE(
    IF(LEFT(subj1,4)='RAJ1', SUBSTRING(subj1,6), NULL),
    IF(LEFT(subj2,4)='RAJ1', SUBSTRING(subj2,6), NULL),
    IF(LEFT(subj3,4)='RAJ1', SUBSTRING(subj3,6), NULL)) as RAJ1,
  COALESCE(
    IF(LEFT(subj1,4)='RAJ2', SUBSTRING(subj1,6), NULL),
    IF(LEFT(subj2,4)='RAJ2', SUBSTRING(subj2,6), NULL),
    IF(LEFT(subj3,4)='RAJ2', SUBSTRING(subj3,6), NULL)) as RAJ2,
  COALESCE(
    IF(LEFT(subj1,4)='ARUN', SUBSTRING(subj1,6), NULL),
    IF(LEFT(subj2,4)='ARUN', SUBSTRING(subj2,6), NULL),
    IF(LEFT(subj3,4)='ARUN', SUBSTRING(subj3,6), NULL)) as ARUN,
  COALESCE(
    IF(LEFT(subj1,5)='MUTHU', SUBSTRING(subj1,7), NULL),
    IF(LEFT(subj2,5)='MUTHU', SUBSTRING(subj2,7), NULL),
    IF(LEFT(subj3,5)='MUTHU', SUBSTRING(subj3,7), NULL)) as MUTHU
FROM thetable;
...