MsSQL - найти значение, в любой колонке

Тема в разделе "Базы данных", создана пользователем BioNicle, 17 июн 2013.

Модераторы: latteo
  1. BioNicle

    BioNicle Постоялец

    Регистр.:
    15 июн 2012
    Сообщения:
    58
    Симпатии:
    14
    Актуально для любой бд, ибо обычный sql, в общем, не могу найти число в таблице, но оно где-то есть (лезет ошибка, что оно там, без уточнения деталей) )))

    Имеется таблица, в ней около 60 колонок и строк около 15тыс, в какой-то ОДНОЙ из колонок, в хз какой строке, есть число, нужное мне. Подскажите запрос, как можно быстро отследить строку/колонку, в которой это число поселилось, проблема в том, что число там хранится временно, периодически перетекает в меньшую колонку (к примеру s60 в s59, потом в s58 и т.п. бывает что наоборот, сервер его гоняет туда-сюда), простым перебором начал пытаться найти, но что-то не вышло, хелп!!! ))

    Как найти число в ЛЮБОМ месте всей таблицы?
     
  2. Darkmind

    Darkmind SNMP maniac

    Регистр.:
    31 май 2006
    Сообщения:
    184
    Симпатии:
    76
    Неполный ответ:
    Лёгкого способа типа select * from *нет. Есть два пути:
    1. Писать запрос с LIKE на каждую колонку
    2. Использовать хранимую процедуру, которая позволит делать запрос CALL findAll('haystack', 'needle') а по сути будет обходить каждую колонку LIKE'ом (пример процедуры есть в треде на stackoverflow)

    UPDATE:
    Приношу свои извинения. С пяти утра на работе, невнимательно прочитал заголовок темы. Вот корректная ссылка на хранимую процедуру: link.
    P.S. Предыдущую тоже оставлю, мало ли кто искать будет по my, авось поможет.
     
    latteo и BioNicle нравится это.