|
запрос
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
написал запрос "Определить сумму всех вкладов в первом квартале текущего года по каждому виду вклада и отсортировать в порядке возрастания." Но фокс ругается на там дат,подскажите как правильно написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 18:55 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42, 1. В ланном запросе нет никакого суммирования, и данные берутся без учёта первого и последнего дня квартала! 2. Скорее всего Вы используете неправильное выражение в индексе index ON bid_cheta+cymma_chet вид счёта - строка сумма счёта - индекс надо index on bid_cheta+STR(cymma_chet,16,2) 3.Данный индекс неверен, поскольку сам вопрос подразумевает сортировку по сумме счетов, т.е. index on STR(cymma_chet,16,2)+bid_cheta 4.Зачем нужен индекс, если запрос прекрасно отсортирует ваши данные Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
[/SRC] ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 20:31 |
|
запрос
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 20:37 |
|
запрос
|
|||
---|---|---|---|
#18+
По умолчанию, в среде FoxPro используется настройка Код: plaintext 1.
Эта настройка предполагает строгое написание констант типа Date. Причем в самом сообщении об ошибке отображается, какой именно формат константы ожидается. Это вид {^ГГГГ-ММ-ДД} Как следствие, Ваш запрос надо написать так Код: plaintext 1. 2. 3. 4. 5.
Кроме того, для упорядочивания выборки используется опция ORDER BY и создание индекса здесь не нужно. А если речь идет о временной выбоорке, то и постоянную таблицу на диске тоже создавать не надо. Вполне достаточно будет временной таблицы (курсора). Ну, и про равенство границам дат Вам уже сказали Тогда Ваш запрос примет вид Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 20:56 |
|
запрос
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6.
фок ругается на дату. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 05:41 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42, тип поля dt_otk_ch посмотрите, ну и соответсвенно измените запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 05:53 |
|
запрос
|
|||
---|---|---|---|
#18+
alextashkWoolf42, 1. В ланном запросе нет никакого суммирования, и данные берутся без учёта первого и последнего дня квартала! 2. Скорее всего Вы используете неправильное выражение в индексе index ON bid_cheta+cymma_chet вид счёта - строка сумма счёта - индекс надо index on bid_cheta+STR(cymma_chet,16,2) 3.Данный индекс неверен, поскольку сам вопрос подразумевает сортировку по сумме счетов, т.е. index on STR(cymma_chet,16,2)+bid_cheta 4.Зачем нужен индекс, если запрос прекрасно отсортирует ваши данные Код: plaintext 1. 2. 3. 4.
ORDER BY 1, 2, 3; INTO table DepositRange SELECT depositRange BROWSE [/src][/SRC] Ошибка: не корректно ведена команда И фокс выводит весь список,без сортировки ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 05:59 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42, прикрепите свою таблицу, посмотрю но 1. задание вам дано вывести список счетов упорядоченный по сумме за 1 квартал а Вы пытаетесь вывести список всех счетов открытых в 1-м квартале 2.Попробуйте так Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 06:10 |
|
запрос
|
|||
---|---|---|---|
#18+
щас вообще не чего не выводит так проще будет http://zalil.ru/32185874 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 06:29 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42, ну так в этом диапазоне нет вкладов попробуй Код: plaintext 1. 2. 3. 4. 5.
он тебе даст за год ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 06:45 |
|
запрос
|
|||
---|---|---|---|
#18+
Дату изменить не проблема, как и добавить еще вкладов.) он вывел 3 вклада за 2000 год,но без сортировки(( ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 06:50 |
|
запрос
|
|||
---|---|---|---|
#18+
а еще вопрос,как вывести заместо кода вклада,его название,если оно находится в другой таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 06:55 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42Дату изменить не проблема, как и добавить еще вкладов.) он вывел 3 вклада за 2000 год,но без сортировки(( Очень даже с сортировкой - по сумме, сначало 20000 75000 1000000 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 07:03 |
|
запрос
|
|||
---|---|---|---|
#18+
хм....ну щас попробую еще добавить вкладов Глянь плиз форму нью_вклад, после записи 1 вклада у меня тексбокс(дата открытия вклада) меняется на обычный чаровский тип ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 07:06 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42а еще вопрос,как вывести заместо кода вклада,его название,если оно находится в другой таблице? Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 07:07 |
|
запрос
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
этот код на кнопке По приблизительному номеру счета определить всех вкладчиков по конкретному виду вклада. я на форме вожу часть счета(1,2,3) цифры и в комбобоксе выбираю вид вклада. как условие правильно написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 08:00 |
|
запрос
|
|||
---|---|---|---|
#18+
Какая у Вас версия FoxPro? Опция ON должна следовать сразу за JOIN. select ... from ... join ... on ... join ... on ... Тот синтаксис, который приведен у Вас генирили построители запросов в старых версиях FoxPro. Если в отношении inner join это еще работало, то для left join это будет давать не корректный результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 13:36 |
|
запрос
|
|||
---|---|---|---|
#18+
ВладимирМ, 9.0 версия ну у меня там ; стоят ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 13:41 |
|
запрос
|
|||
---|---|---|---|
#18+
он вообще результата не дает, при выхода с кнопки вылазит или некорректная команда или синтетическая ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 13:42 |
|
запрос
|
|||
---|---|---|---|
#18+
1. Прекратите использовать для записи результата запроса таблицы (INTO TABLE). Это очень плохой стиль программирования. Вы оставляете после себя "мусор", который потом Вам же и придется разгребать. Хорошо еще, если этот "мусор" не приведет к появлению различных глюков. Для временных выборок следует использовать курсор (INTO CURSOR) 2. Поиск по фрагменту значения, в общем случае, это опция LIKE или функция LIKE() Опция LIKE используется в условии WHERE команд SELECT-SQL примерно таким образом Код: plaintext 1.
Здесь в поле MyField ищется фрагмент "текст" справа и слева от которого может быть указано любое число символов. Знак процента как раз и указывает на то, что количество символов может быть любое Функция Like() - это штатная функция FoxPro. В командах Select-SQL их также можно использовать. Правда не все. Это будет выглядеть следующим образом Код: plaintext 1.
Здесь маска поиска и поле меняются местами, а символом, замещающим не определенное количество символов является уже звездочка Есть еще частный случай поиска по фрагменту, когда точно известно, что искомый фрагмент - это первые символы. В этом случае при настройке SET ANSI OFF (это настройка по умолчанию) можно использовать простое равенство Код: plaintext 1.
Подобный запрос найдет все записи, где содержимое поля MyField начинается с символов 'текст' ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 15:34 |
|
запрос
|
|||
---|---|---|---|
#18+
ВладимирМ, Если я напишу Where nomer_chet = ch правильно будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 15:53 |
|
запрос
|
|||
---|---|---|---|
#18+
Аааааааа Код: plaintext 1.
подскажите где ошибка??? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 16:28 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42Аааааааа Код: plaintext 1.
подскажите где ошибка??? Откуда же нам знать? Приведите хотя бы запрос при выполнении которого эта ошибка возникла. Как говорится в известном анекдоте "дай и мне шанс" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 16:31 |
|
запрос
|
|||
---|---|---|---|
#18+
ВладимирМWoolf42Аааааааа Код: plaintext 1.
подскажите где ошибка??? Откуда же нам знать? Приведите хотя бы запрос при выполнении которого эта ошибка возникла. Как говорится в известном анекдоте "дай и мне шанс" Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
я все о том же...( ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 18:25 |
|
запрос
|
|||
---|---|---|---|
#18+
Несколько ошибок 1. Два раза подряд ключевое слово Where 2. В FoxPro одну команду нельзя "разорвать" строкой комментария. В результате, у Вас отдельно команда SELECT и отдельная команда INTO. Не вставляйте комментарии в "середину" команд. Либо "до", либо "после" 3. Точка с запятой - это символ переноса команды. У Вас команда BROWSE записана как опция команды INTO И еще, это менее принципиально, но, тем не менее, желательно указывать алиас таблицы у всех полей, участвующих в запросе. Это уменьшает неопределенность. Если я правильно понимаю, то все поля без алиасов относятся к таблице vklad_banka. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Я бы Вам советовал на первых порах отделять команды друг от друга пустой строкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 18:40 |
|
запрос
|
|||
---|---|---|---|
#18+
ВладимирМНесколько ошибок 1. Два раза подряд ключевое слово Where 2. В FoxPro одну команду нельзя "разорвать" строкой комментария. В результате, у Вас отдельно команда SELECT и отдельная команда INTO. Не вставляйте комментарии в "середину" команд. Либо "до", либо "после" 3. Точка с запятой - это символ переноса команды. У Вас команда BROWSE записана как опция команды INTO И еще, это менее принципиально, но, тем не менее, желательно указывать алиас таблицы у всех полей, участвующих в запросе. Это уменьшает неопределенность. Если я правильно понимаю, то все поля без алиасов относятся к таблице vklad_banka. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Я бы Вам советовал на первых порах отделять команды друг от друга пустой строкой. т.е. в фоксе комментировать тоже надо с умом? насчет команд учту:) Where STR(vklad_banka.nomer_chet) = ch ; я ввожу число, предположим 2-х значное(которое точно есть в полном номере счета) но мне все ровно ни чего не выводит. А если я захочу добавить еще 1 условие vd=vud_vklad.kod(на форме я ввожу еще название вклада) ..... ..... Where STR(vklad_banka.nomer_chet) = ch .and. vklad_banka.bid_cheta = vd; правильно будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 19:03 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42Where STR(vklad_banka.nomer_chet) = ch ; я ввожу число, предположим 2-х значное(которое точно есть в полном номере счета) но мне все ровно ни чего не выводит. "Точно есть" где? В смысле, в каком месте счета? Это первый символ или может быть где угодно? Приведенный Вами синтаксис предполагает, что речь идет о первом символе. Только вот, функция STR() при переводе числа в строку автоматически дополняет его ведущими пробелами. В данном случае до 10 символов. Как следствие, если номер счета имеет меньше 10 символов, то Вы сравниваете пробел и символ "2". Естественно, ничего не находите. Кстати, если речь идет о банковском счете, то они обычно 20-значные, а это значит, что, во-первых, поле для его хранения не может быть числовым. FoxPro не может хранить числа с точностью выше 16 значащих цифр. А, во-вторых, даже если Вы записали его как число, то функция STR() без указания размерности, по-умолчанию, преобразует его в строку из 10 символов, что опять-таки приведет к искажениям результата. Woolf42А если я захочу добавить еще 1 условие vd=vud_vklad.kod(на форме я ввожу еще название вклада) ..... ..... Where STR(vklad_banka.nomer_chet) = ch .and. vklad_banka.bid_cheta = vd; правильно будет? Вообще-то, проще попробовать. Впрочем, синтаксически это правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2011, 20:20 |
|
запрос
|
|||
---|---|---|---|
#18+
ВладимирМWoolf42Where STR(vklad_banka.nomer_chet) = ch ; я ввожу число, предположим 2-х значное(которое точно есть в полном номере счета) но мне все ровно ни чего не выводит. "Точно есть" где? В смысле, в каком месте счета? Это первый символ или может быть где угодно? Приведенный Вами синтаксис предполагает, что речь идет о первом символе. Только вот, функция STR() при переводе числа в строку автоматически дополняет его ведущими пробелами. В данном случае до 10 символов. Как следствие, если номер счета имеет меньше 10 символов, то Вы сравниваете пробел и символ "2". Естественно, ничего не находите. Кстати, если речь идет о банковском счете, то они обычно 20-значные, а это значит, что, во-первых, поле для его хранения не может быть числовым. FoxPro не может хранить числа с точностью выше 16 значащих цифр. А, во-вторых, даже если Вы записали его как число, то функция STR() без указания размерности, по-умолчанию, преобразует его в строку из 10 символов, что опять-таки приведет к искажениям результата. Woolf42А если я захочу добавить еще 1 условие vd=vud_vklad.kod(на форме я ввожу еще название вклада) ..... ..... Where STR(vklad_banka.nomer_chet) = ch .and. vklad_banka.bid_cheta = vd; правильно будет? Вообще-то, проще попробовать. Впрочем, синтаксически это правильно. № счета у меня 4 значный, щас попробую еще с лайк по мучится ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2011, 00:31 |
|
запрос
|
|||
---|---|---|---|
#18+
За место Код: plaintext 1. 2.
LIKE(*ch*, STR(vklad_banka.nomer_chet))[/SRC] и фокс ругается ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2011, 14:51 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42, Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2011, 19:11 |
|
запрос
|
|||
---|---|---|---|
#18+
alextashk, Спс теперь выводится пустая табличка ( ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2011, 19:25 |
|
запрос
|
|||
---|---|---|---|
#18+
alextashk, подскажи в чем касяк,почему не работает( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2011, 19:31 |
|
запрос
|
|||
---|---|---|---|
#18+
А почему это должно работать? По сути, Вы выполняете такой поиск Код: plaintext 1.
Т.е. ищите символьную строку внутри числа. Естественно, получаете ошибку. Сначала надо привести оба сравниваемых выражения к символьному виду. Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2011, 20:20 |
|
запрос
|
|||
---|---|---|---|
#18+
Кстати, а Вы уверены, что переменная ch не содержит ведущих или концевых пробелов? Попробуйте сделать так Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2011, 20:22 |
|
запрос
|
|||
---|---|---|---|
#18+
Т.е. ищите символьную строку внутри числа. Естественно, получаете ошибку. Сначала надо привести оба сравниваемых выражения к символьному виду. Код: plaintext 1.
[/quot] у меня ch и nomer cheta чаровского типа, пробелов не должно быть т.к. всего 4 символа выделил. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2011, 04:20 |
|
запрос
|
|||
---|---|---|---|
#18+
1. что за ошибка? 2. ну не сложно ведь исправить запрос на что-то вот такое: ... WHERE AT(ALLTRIM(ch),vklad_banka.nomer_chet)#0 ; и посмотреть на результат, ага? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2011, 04:37 |
|
запрос
|
|||
---|---|---|---|
#18+
Все исправил, работает:) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Надо вывести тех вкладчиков у которых более 2 вкладов, ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2011, 06:39 |
|
запрос
|
|||
---|---|---|---|
#18+
написал как смог,больше не хватило мозгов) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2011, 07:33 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42у меня ch и nomer cheta чаровского типа, пробелов не должно быть т.к. всего 4 символа выделил. "Не должно быть" и "нет" - это "две большие разницы". Хотя бы смотрели в отладчике на значения, ну или количество символов? PS: Вы бы для начала попробовали то, что Вам предлагают, а потом уже выдумывали бы всякие ужасы. Неужели так трудно написать Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2011, 15:56 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42Все исправил, работает:) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
у меня взрыв мозга, всю клавиатуру и дисплей забрызгал! по поводу 2-х счетов, надеюсь программа не для СберБанка! Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2011, 21:30 |
|
запрос
|
|||
---|---|---|---|
#18+
[quot alextashk]Woolf42Все исправил, работает:) у меня взрыв мозга, всю клавиатуру и дисплей забрызгал! по поводу 2-х счетов, надеюсь программа не для СберБанка! Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Написал как сумел:) В селекте ошибку пишет "Мисинг экспесион" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 06:38 |
|
запрос
|
|||
---|---|---|---|
#18+
[quot Woolf42]alextashkпропущено... Написал как сумел:) В селекте ошибку пишет "Мисинг экспесион" COUNT(*) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 09:55 |
|
запрос
|
|||
---|---|---|---|
#18+
IgorNG, Спасибо Блин... щас ругается на Код: plaintext 1.
"Command contains unrecognized phrase/keyword" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 10:59 |
|
запрос
|
|||
---|---|---|---|
#18+
Подскажите еще почему после добавление 1 вклада, у меня текстбоксы типа нумерик и дата меняются в чаровский тип,именно после их очистки? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 11:02 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42IgorNG, Спасибо Блин... щас ругается на Код: plaintext 1.
"Command contains unrecognized phrase/keyword" Блин, ну справку открой, почитай про назначение опций ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 12:06 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42, Опция HAVING не использует BY ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 12:07 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42Подскажите еще почему после добавление 1 вклада, у меня текстбоксы типа нумерик и дата меняются в чаровский тип,именно после их очистки? А как ты их чистишь? THISFORM.Text1.Value = "" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 12:08 |
|
запрос
|
|||
---|---|---|---|
#18+
IgorNGWoolf42Подскажите еще почему после добавление 1 вклада, у меня текстбоксы типа нумерик и дата меняются в чаровский тип,именно после их очистки? А как ты их чистишь? THISFORM.Text1.Value = "" ? *thisform.Combo1.Value=' ' thisform.Text1.Value=' ' thisform.Text2.Value=' ' *thisform.Combo2.Value=' ' thisform.Text3.Value=' ' если убрать очистку,то типы не меняются,тогда приходится самому очищать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 12:46 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42, Если символьное поле, то thisform.Text1.Value=' ' Если числовое, то thisform.Text1.Value=0 или thisform.Text1.Value=0.00 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 13:13 |
|
запрос
|
|||
---|---|---|---|
#18+
Woolf42, Соответственно, пустую дату или текущую, в зависимости от того, что нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 14:19 |
|
запрос
|
|||
---|---|---|---|
#18+
Сделал в поле дату сегодняшнюю,что бы не мучиться) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
попробовал через мастер написать,он мне выводит всех у кого 2 и более вкладов и несколько у кого 1 вклад,как этих у кого 1 убрать?) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 14:28 |
|
запрос
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2011, 21:38 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1583960]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 171ms |
0 / 0 |