Имя: Пароль:
1C
1С v8
запрос к базе transbase
0 rull9ss
 
21.08.13
13:01
Сильно не пинать, только учусь.

делаю запрос к базе ТекДока:

RS = Новый COMОбъект("ADODB.Recordset");
    RS.ActiveConnection = Connection;
    Текст =     "SELECT DISTINCT
    |    TOF_MANUFACTURERS.MFA_BRAND MFA_BRAND,
    //|    TOF_DES_TEXTS.TEX_TEXT MOD_ID,
    |    TOF_Articles.ART_ID ART_ID
    |FROM
    |    TOF_MANUFACTURERS TOF_MANUFACTURERS
    |        INNER JOIN TOF_MODELS TOF_MODELS
    |             ON TOF_MANUFACTURERS.MFA_ID = TOF_MODELS.Mod_MFA_ID
    |        INNER JOIN TOF_TYPES TOF_TYPES
    |            ON TOF_MODELS.Mod_Id = TOF_TYPES.TYP_MOD_ID
    |        INNER JOIN TOF_LINK_LA_TYP TOF_LINK_LA_TYP
    |            ON TOF_TYPES.TYP_ID = TOF_LINK_LA_TYP.LAT_TYP_ID
    |        INNER JOIN TOF_LINK_ART TOF_LINK_ART
    |            ON TOF_LINK_LA_TYP.LAT_LA_ID = TOF_LINK_ART.LA_ID
    |        INNER JOIN TOF_ARTICLES TOF_ARTICLES
    |            ON TOF_LINK_ART.LA_ART_ID = TOF_ARTICLES.ART_ID
    |        JOIN TOF_COUNTRY_DESIGNATIONS TOF_COUNTRY_DESIGNATIONS
    |            ON TOF_MODELS.MOD_CDS_ID = TOF_COUNTRY_DESIGNATIONS.CDS_ID
    |        JOIN TOF_DES_TEXTS TOF_DES_TEXTS
    |            ON TOF_COUNTRY_DESIGNATIONS.CDS_TEX_ID = TOF_DES_TEXTS.TEX_ID
    |WHERE TOF_Articles.ART_ID = " + СТРЗАМЕНИТЬ(art_id, Символы.НПП, "") + "
    |GROUP BY
    |    TOF_MANUFACTURERS.MFA_BRAND,
    |    TOF_DES_TEXTS.TEX_TEXT,
    |    TOF_Articles.ART_ID
    |";
        RS.Open(Текст);
        Пока RS.EOF() = 0 Цикл
        ...
        КонецЦикла


в зависимости от параметров выборка возвращает до 300х значений, хотелось бы ограничить выборку первыми 10(50) записями. пробовал Использовать "SELECT DISTINCT TOP 10..." - ошибка в синтаксисе, пробовал "SELECT .. FROM .. WHERE .. GROUP BY .. LIMIT 10" - тоже ругается.

гугл везде выдает Лимит, буду очень благодарен если подскажите аналог конструкции "Первые".
1 Ёпрст
 
21.08.13
13:43
(0) если пишешь top 10, указывай значение упорядочивания в order by
2 Ёпрст
 
21.08.13
13:43
DISTINCT писать при group by лишено смысла.