|
2 / 2 / 0
Регистрация: 16.07.2010
Сообщений: 55
|
|
JOIN таблицы по текстовому полю23.07.2013, 10:34. Показов 3545. Ответов 4
Метки нет (Все метки)
Доброе время суток.
Вопрос следующий: Есть три таблицы: orders, users и items. Orders связана с users по orders.userId = users.id. Соответственно, при запросе к orders информация из users подтягивается по JOIN - никаких проблем. Но в таблице orders есть поле items (TEXT) - через запятую содержит идентификаторы, по которым нужно подтягивать данные из таблицы items. Т.е. поле orders.items может иметь следующий вид: "1, 22, 39", каждая цифра - идентификатор для таблицы items. Как правильно подтянуть соответствующие данные из таблицы items? Видится такой вариант: сперва запрос к orders, дабы не трогая таблицу items получить список заказов. Потом для каждого заказа парсинг поля items и запрос к таблице items на основе распарсенных данных. Но по производительности это ппц Какие еще есть варианты?
0
|
|
| 23.07.2013, 10:34 | |
|
Ответы с готовыми решениями:
4
Множественный фильтр по текстовому полю Сортировка по текстовому полю |
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
|
| 23.07.2013, 10:57 | |
|
Хранить несколько id через запятую в текстовом поле - это не по реляционному Фэнь-Шую
![]() Лучше хранить в отдельной таблице каждый id в своей строке. Тогда никаких проблем с построением запросов не будет
0
|
|
|
2 / 2 / 0
Регистрация: 16.07.2010
Сообщений: 55
|
||
| 23.07.2013, 14:43 [ТС] | ||
Дело в том, что там количество энтих ID может быть переменным, от 1 и до бесконечности. Или я не вполне понимаю, о чем речь Не могли бы какой-нибудь небольшой пример показать?
0
|
||
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
|
| 23.07.2013, 15:05 | |
|
Заводишь таблицу
userid -- ссылка на таблицу orders itemid -- ссылка на таблицу items Соответственно, было для userid = 10 двадцать ссылок на items - будет 20 строк в этой таблице
0
|
|
|
2 / 2 / 0
Регистрация: 16.07.2010
Сообщений: 55
|
||||||
| 24.07.2013, 03:43 [ТС] | ||||||
|
Ок, спасибо, так и сделаю.
Добавлено через 11 часов 59 минут Появился еще вопрос. Сделал, как сказано выше, используя дополнительную таблицу `itemslist`. В ней два поля: `orderId` и `itemId` Соотв. для order.id = 10 может быть выбрано несколько строк из таблицы `itemslist` Запрос такой:
Вариант перебирать данные после выборки на PHP не рассматривается - там листалка страниц идет (LIMIT 0,10 которая), ее после этого хрен восстановить.
0
|
||||||
| 24.07.2013, 03:43 | |
|
Помогаю со студенческими работами здесь
5
Select по текстовому полю
Запрос к текстовому полю в БД
Обращение к текстовому полю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|