Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой / 20 сообщений из 20, страница 1 из 1
23.06.2015, 21:28:57
    #38991082
Жека блин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
В общем есть две таблицы и одна известная переменная, пусть будет равна 5 например
первая таблица состоит из двух столбцов id и array, array это строка с цифрами через запятую 1,4,7,9,983 - например
и вторая таблица у которой есть id и другие значения

нужно выписать все те строки из второй таблицы, id которых входит в массив первой таблица, когда её id = 5

я пытался реализовать двумя способами:

1) SELECT `pages`.* FROM `menus`, `pages`, WHERE `menus`.id='5' AND `pages`.id IN (`menus`.array')

2) SELECT * FROM `pages` WHERE `id` IN (SELECT `id_pages` FROM `menus` WHERE `id`='5' LIMIT 1)

Но в обоих случаях меня ждала неудача, в первом даже не знаю куда лимит засунуть для таблицы menus
буду рад любому дельному совету, заранее благодарен
...
Рейтинг: 0 / 0
24.06.2015, 00:37:15
    #38991175
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
Жека блин,

16909873 ...и ссылки внутри этого ФАКа...
...
Рейтинг: 0 / 0
24.06.2015, 12:49:58
    #38991540
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
javajdbcЖека блин,

16909873 ...и ссылки внутри этого ФАКа...
javajdbc , да вы, извините, латентный терапевт
...
Рейтинг: 0 / 0
24.06.2015, 14:55:18
    #38991710
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
Cygapb-007javajdbcЖека блин,

16909873 ...и ссылки внутри этого ФАКа...
javajdbc , да вы, извините, латентный терапевт


...Б-г простит, а во избежании конфуза,
сходите к окулисту и сможете прочесть ссылки...
...
Рейтинг: 0 / 0
24.06.2015, 18:05:17
    #38991914
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
javajdbcво избежание конфуза
Да понятно, что на SQL можно сделать очень многое, но...
Но зачем учить плохому, рушить основы реляционных баз, а затем мужественно, я бы даже сказал, героически, преодолевать трудности плохого проектирования? Не проще ли сразу научить хорошему, доброму, вечному процессу нормализации баз данных?
...
Рейтинг: 0 / 0
24.06.2015, 20:26:20
    #38992018
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
Cygapb-007javajdbcво избежание конфуза
Да понятно, что на SQL можно сделать очень многое, но...
Но зачем учить плохому, рушить основы реляционных баз, а затем мужественно, я бы даже сказал, героически, преодолевать трудности плохого проектирования? Не проще ли сразу научить хорошему, доброму, вечному процессу нормализации баз данных?


...к окулисту! иначе спор не о чем.
...
Рейтинг: 0 / 0
24.06.2015, 21:35:17
    #38992054
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
javajdbc...к окулисту! иначе спор ни о чем.
я умею разбирать строки на элементы, разными способами, могу сформировать запрос на стороне клиента, могу соорудить DSQL - в этом смысле вы совершенно напрасно аппелируете к FAQу.

Речь совсем не об этом.

Можете просто сказать, считаете ли вы целесообразным первый шаг нормализации реляционных данных (1НФ) или нет?
...
Рейтинг: 0 / 0
25.06.2015, 00:30:14
    #38992131
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
Cygapb-007javajdbc...к окулисту! иначе спор ни о чем.
я умею разбирать строки на элементы, разными способами, могу сформировать запрос на стороне клиента, могу соорудить DSQL - в этом смысле вы совершенно напрасно аппелируете к FAQу.

Речь совсем не об этом.

Можете просто сказать, считаете ли вы целесообразным первый шаг нормализации реляционных данных (1НФ) или нет?


...вот жеж зануда... читайте:

8434456
...
Рейтинг: 0 / 0
25.06.2015, 06:30:46
    #38992178
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
javajdbcчитайте:

8434456
Да читал я это, еще когда интересовался отличиями в разборе строк между разными СУБД

Вы на вопрос-то ответьте, не юля
Не верится, что проще троллинг включить, чем ответить... Но видимо придется
...
Рейтинг: 0 / 0
25.06.2015, 11:02:27
    #38992376
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
Cygapb-007, javajdbc,

Коллеги, меня очень огорчает ваша пикировка. Нельзя ли ее как-нибудь прекратить?
Причем я даже понять не могу ее технической сути :(
...
Рейтинг: 0 / 0
25.06.2015, 12:01:56
    #38992431
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
miksoftПричем я даже понять не могу ее технической сути :(Вот тут 8434456 Ж пишет "Ето плохой дезайн, не делайте так. Дальнейшее обсуждение расчитано только на вариант когда такой плохой дезайн уже есть и исправить нельзя", но ТСу-то он приводит другую ссылку, в которой этих слов нет, а это может ввести новичка в заблуждение (он может подумать, что так и надо делать),. Ну а С это, естественно, не по душе.
...
Рейтинг: 0 / 0
25.06.2015, 12:12:58
    #38992445
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
miksoft, суть, кмк, проста.

Средствами MySQL имеется возможность разобрать поле, содержащее FK к другой таблице, и на эту тему составлен FAQ
Уважаемый javajdbc с упорством окулиста-бюджетника пытается втереть мне, что в этом FAQе проблема решена, но он не считает такую схему правильной. (Ето плохой дезайн, не делайте так. Дальнейшее обсуждение расчитано
только на вариант когда такой плохой дезайн уже есть и исправить нельзя)


Однако при наличии решения проблемы у изучающих SQL желание что-то переделывать начисто пропадает. В результате через какое-то время мы видим нечто уже совсем странное: foreign key set

Поэтому если уж вы даете в FAQ частное решение проблемы связывания - дайте и частное решение проблемы контроля целостности...

Или не давайте вообще никакого решения, скажите честно, что этим занимаются постреляционные СУБД, к каковым MySQL, разумеется, не относится, и порекомендуйте, например, пользоваться той же InterSystems Cache

А при отсутствии желания/возможности использовать постреляционные СУБД - будьте любезны соблюдать 1НФ
...
Рейтинг: 0 / 0
25.06.2015, 12:17:56
    #38992451
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
или будьте любезны все обработку составных данных выполнять в клиенте, а не на сервере MySQL
...
Рейтинг: 0 / 0
25.06.2015, 14:17:37
    #38992686
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
...ок, проехали...
...
Рейтинг: 0 / 0
25.06.2015, 14:28:18
    #38992710
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
javajdbc...ок, проехали...опс...

Нет уж, пожалуйста реализуйте список FK с поддержкой целостности! :)

Или хотя бы пропишите большими красными буквами в FAQ, что предлагаемое решение нарушает правила реляционных баз данных и не способно обеспечить достоверность хранимой в базе информации
...
Рейтинг: 0 / 0
25.06.2015, 14:38:38
    #38992732
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
Cygapb-007Или хотя бы пропишите большими красными буквами в FAQСобственно говоря, Вам это тоже ничего не мешает сделать.
Но желательно, чтобы Ваше сообщение было корректным, как по сути, так и по форме, чтобы не создавать новых поводов для пикировок.
...
Рейтинг: 0 / 0
03.07.2015, 11:11:28
    #38998732
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
miksoftCygapb-007Или хотя бы пропишите большими красными буквами в FAQСобственно говоря, Вам это тоже ничего не мешает сделать.Ок

Хранение в реляционных СУБД первичных ключей в виде списка
нарушает принципы организации реляционных баз данных ( http://www.mstu.edu.ru/study/materials/zelenkov/ch_4_2.html]1НФ )

Но самое главное - такой способ хранения ссылок на другие таблицы ( список Foreign Key в текстовом поле )
не может обеспечить ссылочной целостности данных ,

а значит - в значительной мере
теряется достоверность хранимой информации
...
Рейтинг: 0 / 0
03.07.2015, 12:32:12
    #38998795
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
Cygapb-007такой способ хранения ссылок на другие таблицы ( список Foreign Key в текстовом поле )
не может обеспечить ссылочной целостности данных точно? а если триггер написать?
...
Рейтинг: 0 / 0
03.07.2015, 12:45:13
    #38998808
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
tanglirCygapb-007такой способ хранения ссылок на другие таблицы ( список Foreign Key в текстовом поле )
не может обеспечить ссылочной целостности данных точно? а если триггер написать? Так я ж попросил реализовать - в ответ тишина...

А триггер будет писать тот, как я понял, кто хранит FK в строке?
...
Рейтинг: 0 / 0
03.07.2015, 12:51:55
    #38998819
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой
Естественно, т.к. нормальным людям такое ни к чему :)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / получить данные из одной таблицы, сравнивая с массивом из найденного значения в другой / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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