Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Задание диапазона через Where...between  [new]
kudim
Member

Откуда:
Сообщений: 20
Всем привет. Необходимо соединить базы, которые содержат данные по продуктам. Берутся не все данные из базы, а только нужные столбцы и те строки, которые соответствую требуемым кодам товара по ТН ВЭД. Проблема возникает в задании диапазона этих кодов.

База содержит все коды начиная от 7200000000 до 7399999999, а нужны только строки, соответсвующие кодам от 7304000000 до 7306999999.

Сами коды записаны в столбце в формате текста. Поэтому при указании диапазона через where...between, запрос срабатывает неправильно.

Вопрос в том, как можно указать диапазон для этих кодов. Может быть есть возможность изменить формат столбца на числовой? Мой код приведен ниже.

(SELECT ND,GD0,G071,GD1,STAT,G011,G0131,G021,G022,G081,G082,G083, G221,G222,G11,G091,G092,G093,G141,G142,G143,G15,G15A,G16,G17A,G17B,G19,G33,G32,G31_1,TEXT1,G31_11,G31_12,G06,G31_7,G31_71,G37,G34,G35,G36,G38,G39,G42,G45,G46,G474RUB,G474DOL,G202,G2021,G23
FROM 72_73 in 'D:\72_73_04_2017.mdb'
WHERE g33 between "7204000000" and "7206999999")
UNION ALL
(SELECT ND,GD0,G071,GD1,STAT,G011,G0131,G021,G022,G081,G082,G083, G221,G222,G11,G091,G092,G093,G141,G142,G143,G15,G15A,G16,G17A,G17B,G19,G33,G32,G31_1,TEXT1,G31_11,G31_12,G06,G31_7,G31_71,G37,G34,G35,G36,G38,G39,G42,G45,G46,G474RUB,G474DOL,G202,G2021,G23
FROM 72_73 in 'D:\72_73_05_2017.mdb'
WHERE g33 between"7204000000" and "7206999999")
UNION ALL
(SELECT ND,GD0,G071,GD1,STAT,G011,G0131,G021,G022,G081,G082,G083, G221,G222,G11,G091,G092,G093,G141,G142,G143,G15,G15A,G16,G17A,G17B,G19,G33,G32,G31_1,TEXT1,G31_11,G31_12,G06,G31_7,G31_71,G37,G34,G35,G36,G38,G39,G42,G45,G46,G474RUB,G474DOL,G202,G2021,G23
FROM 06 in 'D:\72_73_06_2017.mdb'
WHERE g33 between"7204000000" and "7206999999")
UNION ALL
(SELECT ND,GD0,G071,GD1,STAT,G011,G0131,G021,G022,G081,G082,G083, G221,G222,G11,G091,G092,G093,G141,G142,G143,G15,G15A,G16,G17A,G17B,G19,G33,G32,G31_1,TEXT1,G31_11,G31_12,G06,G31_7,G31_71,G37,G34,G35,G36,G38,G39,G42,G45,G46,G474RUB,G474DOL,G202,G2021,G23
FROM 7 in 'D:\72_73_07_2017.mdb'
WHERE g33 between"7204000000" and "7206999999")
UNION ALL
(SELECT ND,GD0,G071,GD1,STAT,G011,G0131,G021,G022,G081,G082,G083, G221,G222,G11,G091,G092,G093,G141,G142,G143,G15,G15A,G16,G17A,G17B,G19,G33,G32,G31_1,TEXT1,G31_11,G31_12,G06,G31_7,G31_71,G37,G34,G35,G36,G38,G39,G42,G45,G46,G474RUB,G474DOL,G202,G2021,G23
FROM 72_73 in 'D:\72_73_08_2017.mdb'
WHERE g33 between "7204000000" and "7206999999")
UNION ALL
(SELECT ND,GD0,G071,GD1,STAT,G011,G0131,G021,G022,G081,G082,G083, G221,G222,G11,G091,G092,G093,G141,G142,G143,G15,G15A,G16,G17A,G17B,G19,G33,G32,G31_1,TEXT1,G31_11,G31_12,G06,G31_7,G31_71,G37,G34,G35,G36,G38,G39,G42,G45,G46,G474RUB,G474DOL,G202,G2021,G23
FROM 72_73 in 'D:\72_73_04_2016.mdb'
WHERE g33 between "7204000000" and "7206999999");
26 сен 17, 10:13    [20822696]     Ответить | Цитировать Сообщить модератору
 Re: Задание диапазона через Where...between  [new]
bubucha
Member

Откуда:
Сообщений: 5275
? val("7206999999")>val("7204000000")
True
26 сен 17, 10:29    [20822774]     Ответить | Цитировать Сообщить модератору
 Re: Задание диапазона через Where...between  [new]
kudim
Member

Откуда:
Сообщений: 20
bubucha,
не могу разобраться, как это должно выглядеть в моем коде. Напишите пожалуйста, уже по всякому попробовал)
26 сен 17, 10:49    [20822904]     Ответить | Цитировать Сообщить модератору
 Re: Задание диапазона через Where...between  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 16295
kudim
База содержит все коды начиная от 7200000000 до 7399999999, а нужны только строки, соответсвующие кодам от 7304000000 до 7306999999.

Сами коды записаны в столбце в формате текста. Поэтому при указании диапазона через where...between, запрос срабатывает неправильно.

Должен, просто обязан, работать правильно, если данные корректны (все коды - строго десятизначные и не содержат иных символов, кроме цифр).
26 сен 17, 11:05    [20822974]     Ответить | Цитировать Сообщить модератору
 Re: Задание диапазона через Where...between  [new]
kudim
Member

Откуда:
Сообщений: 20
Akina,
вы правы! я указал не тот диапазон кодов в условиях отбора. Спасибо!))
26 сен 17, 12:07    [20823330]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить