Форум: "Базы";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
ВнизВыборка по первым 2-м цифрам из поля таблицы Найти похожие ветки
← →
Chainik (2002-05-30 16:26) [0]Здравстуйте, мастера!Возвращаюськ своему вопросу(временно отсутствовал :().
-----------------------------------------------------------------
Chainik © (17.05.02 13:23)
Здравстуйте, уважаемые! Есть табличка(формат dbf), в которой есть поле(character, 18).Не подскажите ли, как выбрать из энтой таблицы записи по первым 2-м цифрам?
--------------------------------------------------------------------------------
Lusha © (17.05.02 13:31)
Использовать LIKE...
--------------------------------------------------------------------------------
Desdechado © (17.05.02 15:14)
так первых двух или по первым двум?
Немного уточню вопрос: записи начинаются с определенных двух цифры(например 00,01,02 и т.д).Мне нужно вывести количество записей,группируя их по этим двум цифрам(т.е 00 - 100 записей,
01 - 30 и т.д.).Как это можно сделать? Вы мне очень поможете, если посоветуете что-нить!
← →
yozhik (2002-05-30 17:06) [1]попробуй вырезать первые 2 цивры, а потм групировать ...
← →
Chainik (2002-05-30 17:09) [2]А по-подробнее можно?
← →
Johnmen (2002-05-30 17:14) [3]Такое сделать невозможно....
← →
Lusha (2002-05-30 17:15) [4]В одном запросе не получится...
1. Выбираем все имеющиеся комбинации первых двух цифр...
SELECT DISTINCT SUBSTRING(FIELD FROM 1 FOR 2) AS T FROM TABLE1
2. Сохраняем результат во временную табличку, например RESULT.
3. Считаем записи
SELECT D.T, COUNT(*) AS QUANTITY FROM RESULT D, TABLE1 E
WHERE D.T = SUBSTRING(E.FIELD FROM 1 FOR 2)
GROUP BY D.T
← →
yozhik (2002-05-30 17:26) [5]а если так
SELECT SUBSTRING(FIELD FROM 1 FOR 2) AS T FROM TABLE1
Group by SUBSTRING(FIELD FROM 1 FOR 2)
не проверял так как под руками ниче нету ...
← →
Lusha (2002-05-30 17:28) [6]А если очень хочется делать сие одним запросом, просто добавьте в таблицу одно поле, в котором храните первые два символа... Тогда задача очень сильно упростится...
SELECT TWOSYMBOLS, COUNT(*) FROM TABLE1
GROUP BY TWOSYMBOLS
← →
Lusha (2002-05-30 17:32) [7]>yozhik (30.05.02 17:26)
Это будет работать на SQL серверах, но для BDE это пока неразрешимая задача... В день когда BDE такое сможет, я наверное напьюсь и буду кричать: "ADO это полное г-но"... :)
← →
Johnmen (2002-05-30 17:34) [8]>yozhik (30.05.02 17:26)
Ну что ты...Это, извиняюсь, ерунда-с....
← →
Chainik (2002-05-30 17:37) [9]Извините, но я не знаю как создавать в Delphi вр.таблицу и сохранять туды результат:((.
Будьте добры, поподробнее, пожайлуста насчет второго пункта.
← →
Johnmen (2002-05-30 17:37) [10]>Lusha © (30.05.02 17:32) А ты уверен ? :)
← →
Lusha (2002-05-30 17:47) [11]>Johnmen © (30.05.02 17:37)
Oracle точно это обрабатывает, на счет MS SQL могу выяснить завтра, если тебе это интересно...
>Chainik © (30.05.02 17:37)
Смотрите в справке метод TTable.BatchMove
← →
Lusha (2002-05-30 17:52) [12]>Lusha © (30.05.02 17:47)
Ну, разумеется, функция взятия подстроки и в Oracle и в MS SQL будет выглядеть иначе... :)))
← →
Chainik (2002-05-30 17:56) [13]Спасибо за советы, попытаюсь сделать!
← →
Johnmen (2002-05-30 17:56) [14]>Lusha © : Вообще то мне это не интересно, т.к. заглянув в спецификацию SQL92, увидим стандартный синтаксис для GROUP BY.
В Оракуле посмотрю завтра (его синтаксис отличен), в IB - нельзя...
С наилучшими пожеланиями............ :)))))))0
← →
Lusha (2002-05-30 18:00) [15]>Johnmen © (30.05.02 17:56)
В IB многое чего нельзя... А спецификацию SQL92 я уже давно не смотрю... С тех пор как понял, что производители придерживаются ее в основном на словах... :)))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c