«Век живи...» (продолжение).

Продолжаю тему глупых ошибок. Тем, кто с sql не знаком, дальше не читать.

В разрабатываемой базе данных поднадобилось выводить таблицу, являющуюся результатом подстановки в таблицу A, содержащую индексы, значений, взятых по этим индексам из таблицы B. Короче вместо полей, содержащих индексы, надо подставлять значения, а остальные поля таблицы не трогать. Элементарная задачка, с элементарным решением. Пишу запрос вида:

select nds.nds,nomenklatura.* from nomenklatura,nds where nomenklatura.nds=nds.id

Названия полей и таблиц оставил реальные, чтоб легче было понять. Таблица A здесь — nomenklatura.

Написал, запустил — не работает. Вернее работает — но результат в связанный DBGrid не выводит.
Ладно, думаю, я на SQL два года не писал, наверняка просто не так запрос написал. Открываю позапозапрошлогодние лекции, читаю — гм, либо лыжи не едут, либо правильно написал. Читаю справочники, ищу в инете, смотрю примеры, начинаю пытаться несколько выборок сделать и потом их в union загнать... короче впустую трачу время и траффик...
На используемом DBGrid просто стоял фильтр по названиям полей (т.е. выводились только поля, имеющиеся в таблице A, а при выборке получалось, что «подставленные» поля берут названия из таблицы B). Т.е. правильный запрос я написал сразу, а не работало по причине забывчивости — сам же этот фильтр установил, чтобы в гриде колонки удобнее сортировать было...


Рекомендуем почитать: