Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 26.11.2017
Сообщений: 55
1

Как вывести имена столбцов, в которых встречается нужное значение?

19.12.2023, 12:52. Показов 584. Ответов 6

Author24 — интернет-сервис помощи студентам
Здравствуйте, знатоки.

Как вывести имена столбцов, в которых встречается нужное значение?

Пытаюсь вывести имена столбцов, в которых встречается дата раньше чем 2023-12-12. То есть, получить названия col_1 и col_3.
Но пока даже не получается вывести имя столбца просто с четким значением, например: "2023-12-11 20:18:24" .

Код
+--------+---------------------+---------------------+---------------------+
| name   | col_1               | col_2               | col_3               | 
+--------+---------------------+---------------------+---------------------+
| User1  | 2023-12-11 20:18:24 | 2023-12-15 10:00:00 | 2023-12-10 15:00:00 |
+--------+---------------------+---------------------+---------------------+
SQL
1
2
3
4
5
6
7
8
9
10
11
12
// Этот способ выводит имена всех столбцов.
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
   WHERE TABLE_NAME = 'users'
 
 
// Пробовал такие варианты, но они не работают:
 
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
   WHERE TABLE_NAME = 'users' AND COLUMN_VALUE = '2023-12-11 20:18:24'
 
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'users'
   WHERE COLUMN = '2023-12-11 20:18:24'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2023, 12:52
Ответы с готовыми решениями:

Вывести на экран имена всех подкаталогов заданного каталога, в которых встречается хотя бы один текстовый файл
Вывести на экран имена всех подкаталогов заданного каталога, в которых встречается хотя бы один...

Нашел метод как вывести нужное имя ком-порта, теперь как вывести его значение в set name=%com%
Нашел метод как вывести нужное имя ком-порта, теперь как вывести его значение в set name=%com% ...

Как вывести имена столбцов у таблиц
Приветствую. Не могу вывести наименование столбцов у таблиц. Допустим имеется таблица...

Вывести на экран все ключи, у которых не встречается значение равное N
Что делает map **data и сама data в этой программе?что такое ** и как с ним работать? ...

6
3400 / 1319 / 470
Регистрация: 31.05.2012
Сообщений: 4,668
19.12.2023, 13:09 2
а структура таблицы м перечень полей, значения в которых проверить нужно есть? или надо по всем таблицам базы и всем их полям с датой-временем проверять? тоже можно, но сильно сложней
0
1 / 1 / 0
Регистрация: 26.11.2017
Сообщений: 55
19.12.2023, 14:14  [ТС] 3
В БД таблица пока одна, называется "users", пример структуры таблицы:
Код
+--------+---------------------+---------------------+---------------------+
| name   | Func 1 Done         | Func 2 Done         | Func 3 Done         | 
+--------+---------------------+---------------------+---------------------+
| User1  | 2023-12-11 20:18:24 | 2023-12-15 10:00:00 | 2023-12-10 15:00:00 |
+--------+---------------------+---------------------+---------------------+
| User2  | 2023-12-20 20:18:24 | 2023-12-15 10:00:00 | 2023-12-10 15:00:00 |
+--------+---------------------+---------------------+---------------------+
| User3  | 2023-12-22 20:18:24 | 2023-12-15 10:00:00 | 2023-12-10 15:00:00 |
+--------+---------------------+---------------------+---------------------+
| User4  | 2023-12-26 20:18:24 | 2023-12-15 10:00:00 | 2023-12-10 15:00:00 |
+--------+---------------------+---------------------+---------------------+
Выборка производится по строке "name", то есть, берем User1 и смотрим его строку. В качестве поискового параметра: дата "2023-12-12 10:00:00". Это я упростил. А вообще, надо найти те даты, от которых прошло больше двух дней.
В результате пытаюсь получить название колонок, в которых дата более ранняя (для активации функций).
Название колонок это разные функции и дата, когда эти функции были выполнены для User1. Те функции, у которых прошло больше двух дней, запускаются для отработки, а после выполнения, в БД заносится новая дата выполнения функции.

Добавлено через 18 минут
В качестве примера:
Для строки User1. Проверка производится 15 Декабря. По результатам запроса нужно получить только названия колонок: "Func 1 Done", "Func 3 Done".
0
3400 / 1319 / 470
Регистрация: 31.05.2012
Сообщений: 4,668
19.12.2023, 14:15 4
так например что бы в разные строки. можно и в одну строку но в разные колонки, сам придумай если надо
MySQL
1
2
3
4
5
6
7
8
9
10
11
select 'Func 1 Done' as ColumnName, `Func 1 Done` as DateFun
  from users
  where  `name`='User2' and  `Func 1 Done`>'2023-12-12' 
union all
select 'Func 2 Done' as ColumnName, `Func 2 Done` as DateFun
  from users
  where  `name`='User2' and  `Func 2 Done`>'2023-12-12' 
union all
select 'Func 3 Done' as ColumnName, `Func 3 Done` as DateFun
  from users
  where  `name`='User2' and  `Func 3 Done`>'2023-12-12'
1
1 / 1 / 0
Регистрация: 26.11.2017
Сообщений: 55
19.12.2023, 16:07  [ТС] 5
Спасибо. Я новичек и не очень понимаю, что делает первая строка. Можете хотя бы ее прокомментировать? (select 'Func 1 Done' as ColumnName, `Func 1 Done` as DateFun)
0
3400 / 1319 / 470
Регистрация: 31.05.2012
Сообщений: 4,668
19.12.2023, 16:30 6
а открыть справку по команде select мировоззрение не позволяет?
0
1 / 1 / 0
Регистрация: 26.11.2017
Сообщений: 55
19.12.2023, 16:41  [ТС] 7
Я про все остальное, кроме select. Пока не понял этой конструкции...
0
19.12.2023, 16:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2023, 16:41
Помогаю со студенческими работами здесь

Как вывести нужное значение из таблицы БД?
Помогите разобраться с добавлением новых полей в регистрационную форму k2 в joomla. Я почти...

Вывести на экран все имена пользователей из файла /etc/passwd, имена которых начинаются с ad
Помогите пожалуйста не могу разобраться

Как из массива объектов, вывести нужное значение
Как из массива объектов достать имя?Хочу сделать чтоб из полученного после фильтрации массива...

Как вывести имена каталогов, в которых есть каталоги?
Задание : Shell-программа выводит имена тех каталогов в каталоге, которые в себе содержат ...

Как вывести имена, в которых количество строчных и прописных букв одинаково?
Подскажите, пожалуйста, как такой скрипт на Shell будет выглядеть "Вывести список файлов указанного...

Дан массив А(п,т). Вывести номера столбцов, в которых их среднее арифметическое значение является отрицательным числом.
Помогите............


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru