Извлечение имен столбцов из той же таблицы, где условия - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужны имена столбцов из таблицы с условием, удовлетворяющим той же таблице.скажем, если столбец с именем «size» имеет значение «22», в то время как он должен проверять то же значение в 24 столбцах с именами, начиная с «sizecaption1, sizecaption24», и возвращать имена столбцов, содержащие значение «22» для каждой строки.Спасибо Это я пробовал, но у меня не работает:

create procedure dataaudit()
begin
declare countr  int;
declare headr  int;
set @countr = (select size from joinbom group by stylecode limit 0,1);
set @headr1=(select sizecaption1 from joinbom group by stylecode limit 0,1);
while @countr  = @headr1 do select column_name from 
information_schema.columns where table_name like'joinbom' and 
@countr=@headr;

1 Ответ

0 голосов
/ 04 апреля 2019

Основываясь на своей редкой спецификации, вы можете попробовать

SELECT
  id,
  TRIM(CONCAT(
    IF(sizecaption1 = size, 'sizecaption1 ', ''),
    IF(sizecaption2 = size, 'sizecaption2 ', ''),
    IF(sizecaption3 = size, 'sizecaption3 ', ''),
    IF(sizecaption4 = size, 'sizecaption4 ', ''),
    IF(sizecaption5 = size, 'sizecaption5 ', ''),
    IF(sizecaption6 = size, 'sizecaption6 ', '')
    )) AS result
FROM JoinBoom
ORDER BY id
;

Посмотреть в действии: SQL Fiddle

Пожалуйста, прокомментируйте, если и как это требует корректировки / более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...