Привет, вообще парни помогите одержать победу над SQL как мне правильно составить SQL запрос, вообщем задача такова: есть 3 таблицы MS Access, 1-я: Называется SC Поля Key1=ключевое поле-счетчик СК полное наименование = полное наименование компании СК скоращенное наименование = соответсвенно сокращенное наименование 2-я: наз. TypeSH поля Key1 = аналогично пред-щей Тип страхования = содержит види страх-я 3-я: наз. КВ поля Key1 - .... Страховая компания = тип integer, содержит соответствующий номер записи в таб. SC в соответсвии с ее счетчкиком Текущий = логическое переменные SQL: :CK - содержит данные из SCBox.Text DataModule2.KBQuery.Parameters.ParamByName('CK').Value:=SCBox.Text; Где SCBox это DBLookupComboBox указывающий на таблицу SC, поле "СК скоращенное наименование", что такое DataModule и KBQuery думаю пояснять не нужно. мне нужно выбрать из таблицы KB поле в котором поле "Страховая компания" будет равно полю "СК скоращенное наименование" из таблциы SC, и в котором поле "Текущий"(в таблице KB) будет равно true. В SQLQuery пишу следующий запрос: Code: SELECT * FROM KB outer WHERE :CK = (SELECT [СК скоращенное наименование] FROM SC inner WHERE Key1 LIKE outer.[Страховая компания]) AND Текущий = true; в теория я думал что должен получить 1 строку, но при переводе QSLQuery в true он ругается что нашел ошибку в предложении FROM Сразу извиняюсь за такую муть , SQL использую впервый да и базу пишу в принципе тоже, просто для уменьшения размера базы я вынес повторяющиеся данные в разные таблицы, а в тех таблицах где они используются просто указываю текущий норме(по счетчкику в таблице содержащей нужные данные) записи таким образом у меня например название компании Первая Страховая Компания, бедет только в 1 таблице, а все таблицы и записи в которых указывается эта компания будет только цифра 1 т.к. эта компания идет первой по счету в таблице списка компаний
что то ты слишком уж сильно намудрил =) со стуктурой БД, или просто я не внимательно читал исправь запрос на Code: SELECT * FROM KB o1 WHERE Текущий = true AND :CK = (SELECT [СК скоращенное наименование] FROM SC WHERE Key1 = o1.[Страховая компания]) может поможет... если чё пиши сюда