vit_r: default (vit_r)
[personal profile] vit_r

Про высокие и низкие технологии



Коллега спрашивает:

- А правда, вот такого не может быть?
- Несомненно, - отвечаю я.
- Точно?
- Точно-точно.
- А как же у меня получилось?

Грубо говоря, надо сравнить строки «A» со строками «B» в таблице определённого вида. По его словам получается, что происходят какие-то магические вещи.

Похожу я к нему, пялюсь в монитор, и предстаёт перед моим взором какой-то монстр... с OUTER JOIN, с кучей каких-то заумных условий, с хитрым сплетением колонок и ещё чем-то страшным, что ни осознать, ни оценить я не в состоянии.

- Какой номер таблицы? - спрашиваю, возвращаюсь к своему компу и зову его.

Дальше по шагам

  1. Ctrl-2 и переход на второй воркспейс. (Менеджер воркспейсов у M$ дурацкий, зато бесплатный и ставится без административных прав.)
  2. Клик мышкой на закладку с базами в открытом SQL-туле, клик на базу и ввод числа в строку поиска.
  3. Двойной клик на имя найденной таблицы.
  4. Над раскрывшейся таблицей клик на кнопку «конвертировать в SQL».
  5. F5 после того, как открылась закладка с запросом. (То есть, запуск SQL.)
  6. Клик мышкой в первую строку таблицы, появившейся в нижней части окна. Shift-Ctrl со стрелочкой вправо. (То есть, Select первой строки от начала и до конца.)
  7. Ctrl-C и Enter, чтобы скопировать первую строку с заголовками, перевернув строки в столбцы.
  8. Двойной клик на Excel файл на рабочем столе.
  9. Клик в него и Ctrl-V. В результате два столбца: заголовки и значения.
  10. Select столбца с заголовками. Ctrl-C.
  11. Ctrl-1 и переход на первый воркспейс.
  12. Клик в открытый текстовый редактор и Ctrl-N, чтобы открыть новый файл. (Обычно пишу в уже открытый лог, но это чужой текст, который мне болше не нужен.)
  13. Ctrl-V. Select колонки имён столбцов. Клик на кнопку сортировки. Enter.
  14. Печатаю «SELECT» вверху, следующей строкой имя столбца с «A/B».
  15. Select для столбцов ниже. Три раза Tab, чтобы отодвинуть вправо.
  16. Select трёх табов. Ctrl-C. F8, на который переведён Replace. Tab, и Ctrl-V в поле для того, на что заменять. Запятая перед предпоследним табом и Ctrl-A
    В результате, имена столбцов отсортированы и аккуратно стоят отступом, разделённые запятыми.
  17. На следующей строке печатаю «FROM»
  18. Далше, Ctrl-2, Select имени базы в SQL-туле, Ctrl-C, Ctrl-1 обратно, клик в текстовый редактор и Ctrl-V.
  19. Следующей строкой печатаю «ORDER BY».
  20. Копирую ниже имена столбцов таблицы, которые подходят для сортировки.
  21. Самым нижним добавляю тот столбец, который «A/B».
  22. Select всего полученного текста. Ctrl-C.
  23. Ctrl-2. Клик в SQL-тул. Select того, что там стоит. Del. Ctrl-V.
    Итого в туле стоит готовый запрос.
  24. F5, чтобы запустить SQL.
  25. Смотрю таблицу внизу, переставляю пару столбцов в ORDER BY. F5.
  26. Внизу красивая табличка, с отсортированными строками, первым столбцом идёт «A - B - A - B - A - B».
  27. Select первых двух строк. Ctrl-C. Enter. (Диалог при копировании надоел, но он не убирается.)
  28. Тыкаю в раскрытый Excel, в верхнюю клетку второго столбца. Ctrl-V.
  29. Первый столбец таблицы сверху до низу забит тупой формулой, которая говорит «OK» если значения в «A» и «B» совпадают, и «ERR», если нет.
  30. Показываю коллеге результат и говорю:
    - Ну вот. У тебя значения в столбцах «_before» и «_after» перепутаны. Числа в «A» и «B» одинаковые, только столбцы сместились.


Это только выглядит длинно. На самом деле, только пальцы по клавиатуре бегают, а ответ был готов, ещё до того, как успеешь дочитать до середины. (Хотя некоторые операции в этих дурацких Виндах я бы предпочёл вывести на педали.)

Коллега смотрит на результат. Конечно, не так интересно, как строить хитрые запросы и выдвигать смелые теории, но он однозначен.

Он бурчит что-то себе под нос. Возвращается на свое место. Смотрит на меня...

А теперь догадайтесь, что он произносит?


- Никогда бы не подумал, что ты используешь Excel.

Чёрт побери, никаких административных прав, голимые Винды и виндусятные тулы вместо нормальных средств разработки. Ни командной строки, ни XEmacs. Даже IExplorer в качестве браузера.

А он, видите-ли удивлён, что я как последний бухгалтер занимаюсь копи-пейстом и сравниваю дебет с кредитом вместо высокоинтеллектуального написания чистых и возвышенных SQL-запросов.

Date: 2014-10-23 07:41 am (UTC)
From: [identity profile] vit-r.livejournal.com
Если по логам надо сравнивать количество строк в дюжине таблиц, то проще через. Хотя, можно использовать SQL как калькулятор.

Profile

vit_r: default (Default)
vit_r

June 2025

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 5th, 2025 08:50 am
Powered by Dreamwidth Studios