powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос.
11 сообщений из 11, страница 1 из 1
Помогите составить запрос.
    #38345259
Фотография paha4444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица с названием fieldsattach_values
в таблице 2 поля

id = 1

и

extras:
||true
Русская|1
Итальянская|2
Французская|3
Украинская|4
Китайская|5
Японская|6
Армянская|7
Норвежская|8
Грузинская|9

мне нужно получить текстовое название до символа |, где число после символа | = 4
т. е. я хочу получить название кухни к примеру Украинской.
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38345293
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paha4444,

почитайте сначала про нормализацию...
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38345302
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paha4444,

есть такое понятие - нулевая нормальная форма
это значит не надо два значения толкать в одно поле.


ЗЫ если решение существующее
для старого кода выборки сделать вьюху а таблицу сделать нормально

а вообще на сайте мускла есть набор функций, и есть функции которые в итоге дадут типо


взять_подстроку(строка,0,кол_символов==позиция_подстроки_в_строке(...)-1)
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38345666
Фотография paha4444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirpaha4444,

почитайте сначала про нормализацию...

Если бы Я создавал эту таблицу, то тогда вопрос бы небыло.

А таблица создана разработчиками компонента, поэтому мне приходиться подстраиваться под них.
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38345668
Фотография paha4444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453paha4444,

есть такое понятие - нулевая нормальная форма
это значит не надо два значения толкать в одно поле.


ЗЫ если решение существующее
для старого кода выборки сделать вьюху а таблицу сделать нормально

а вообще на сайте мускла есть набор функций, и есть функции которые в итоге дадут типо


взять_подстроку(строка,0,кол_символов==позиция_подстроки_в_строке(...)-1)


Я подумал что у когото есть наработки, чтобы не изобретать велосипед. Ну, чувствую придется изобретать...
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38345755
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paha4444,

По-моему это не предназначено для запросов по части поля. Запрашиваете все и в процедуре разбираете. На процедуром языке тривиальная вещь.

И кстати, я так делал подавив протест духа Кодда. Там получалась несусветная комбинация вариантов из-за обилия параметров, а цель всего этого имела несуразную с затратами труда ценность. Забил в ячейку сериализованный объект и стало зашибись. :)
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38345808
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вру, какая сериализация на бейсике. Ну, то есть было две функции. Одна разбирала объект на запчасти перекладывая его нулями, а вторая собирала обратно. Представьте текст из 10 колонок и для каждой надо предусмотреть кучу параметров. В синтаксисе css это бы выглядело так (все условно)

.col1 {
font-name: Arial;
font-size: 10;
font-postscript-name: Arial CTT
font-style: italic;
font-weight: bold;
font-transform: uppercase;
content-before: «
content-after: $raquo;
color-cyan: 100;
color-magenta: 100;
color-yellow:0;
color-black;20;
}

для каждого параметра надо прописать имя, тип поля, подумать о нул-ненул, дефолты и все такое. Отношение же самое простое - каждая такая запись всегда и навечно относится к своей колонке текста. Поэтому добавив еще имя оформления туда же и id я сделал таблицу из 12 столбцов, а в поля складывал разобранную на части переменную.

0 (бинарный, не символ 0) был выбран в качестве разделителя чтобы не запрещать абсолютно никаких символов. :)
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38346001
Фотография paha4444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как все сложно)))

Ну в общем я сделал с помощью PHP:

$q3 = "SELECT extras FROM #__fieldsattach AS fa WHERE fa.id = '1'";
$db->setQuery($q3);
$list_kuhni = $db->loadObject();


$list_kuhni = $list_kuhni->extras;
$list_kuhni = explode("\n", $list_kuhni);
$kuhni = array();

for($i=1;$i<count($list_kuhni);$i++){
array_push($kuhni, explode("|",$list_kuhni[$i]));
}


print_r($kuhni);
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38346023
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
debloggerВру, какая сериализация на бейсике. Ну, то есть было две функции. Одна разбирала объект на запчасти перекладывая его нулями, а вторая собирала обратно. Представьте текст из 10 колонок и для каждой надо предусмотреть кучу параметров. В синтаксисе css это бы выглядело так (все условно)

.col1 {
font-name: Arial;
font-size: 10;
font-postscript-name: Arial CTT
font-style: italic;
font-weight: bold;
font-transform: uppercase;
content-before: «
content-after: $raquo;
color-cyan: 100;
color-magenta: 100;
color-yellow:0;
color-black;20;
}

для каждого параметра надо прописать имя, тип поля, подумать о нул-ненул, дефолты и все такое. Отношение же самое простое - каждая такая запись всегда и навечно относится к своей колонке текста. Поэтому добавив еще имя оформления туда же и id я сделал таблицу из 12 столбцов, а в поля складывал разобранную на части переменную.

0 (бинарный, не символ 0) был выбран в качестве разделителя чтобы не запрещать абсолютно никаких символов. :)

Вам стоит попробовать себя в белЬлетристике.

П.С. что будет если в сериализованом об-екте будет
бинарное переменая со значением бинарный ноль ?
Или просто текстовое будет иметь бинарный ноль
как часть какой-нибудь буквы?
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38346800
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc,

Любой бинарный ноль в сериализованном объекте это char 31.

Нет, это вы попробуйте себя в ведении с клавы бинарного нуля.

Почему 0? Потому что 1 в вб есть константа vbNullChar и как ни странно API тоже его юзает как либо разделитель, либо как конец строки. Например список файлов в переменной разделяется vbNullChar. Я лишь повторил метод, канонично.
...
Рейтинг: 0 / 0
Помогите составить запрос.
    #38346808
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разделителем может быть что угодно, и палочка не самый плохой вариант. В обычном тексте ее практически не юзают. Единственное что читабельность строки страдает. Лучше юзать табулятор, как более индустриальный вариант. Например текст по цитате выше с разделителем таб можно скопипастить в екзель и он расползется по столбцам автоматически. В некоторых приложениях (в том числе веб-) табулятор в тексте из буфера распознается как табулятор с клавы и вставляемый текст разбегается по соответствующим полям ввода.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]