|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
||||||
Выборка из нескольких таблиц БД18.02.2012, 15:00. Показов 1674. Ответов 4
Метки нет (Все метки)
Здраствуйте.
Такая ситуация. Есть база данных MySQL, в которой имеется около 20 таблиц, каждая из которых соответствует определенной категории. Структура этих таблиц одинакова:
Мне нужно на главной странице вывести список, состоящий из n последних записей. Проблема в том, что они могут быть раскиданы по разным таблицам. Дайте совет по решению этой проблемы ![]() P.S. Можно просматривать все 20 таблиц при выводе, но это ресурсоемкое занятие.
0
|
||||||
| 18.02.2012, 15:00 | |
|
Ответы с готовыми решениями:
4
Выборка из нескольких таблиц выборка с нескольких таблиц |
|
Исследователь
|
|
| 18.02.2012, 15:44 | |
|
А не проще переделать БД... Поскольку возникла такая проблема, то подозреваю, что она не правильно создана...
Чтобы не ждать ответа, на случай, если я прав, то лучше сразу переделать БД. Вот что я думаю... У этих 20 таблицах хранятся одинаковые данные, расбросаны по категориям... Для примера, в первой таблице уроки по программированию на Си, во второй - на С++, в третьей - по PHP и т. д. Это распостраненная ошибка новачков... Правильно сделать одну таблицу, в которую добавить поле категории... id | cat_id | ... | data И выборку будет сделать проще, и не будет нарушения правил
0
|
|
|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
|||
| 18.02.2012, 16:13 [ТС] | |||
![]() Также рассматривал такой вариант: создать отдельную таблицу "last_news" (из названия понятно) и выводть все из нее. Но в дальнейшем она может стьать довольно большой, поэтому придется удалять старые записи из нее, что скажется на функционале сайта. Рассматриваюто как запасной вариант.
0
|
|||
|
Исследователь
|
|
| 18.02.2012, 16:36 | |
|
Размышляю "вслух", может это натолкнет на мысль...
Как вариант, можно просматривать все 20 таблиц... Мда... Ресурсов это сожрёт не мало... Можно, конечно, выбрать n последних записей из каждой таблицы и уже из них выбрать n последних... Нет Хватит мучить ЭВМ...Создать еще одну таблицу, в которой хранить последние записи?.. Хм-м... Если в этой таблице хранить id и название таблицы с новостью, то она не так уж и сильно будет ресурсоемкой... а если её еще и переодически чистить, то дела пойдут не так уж и плохо... Оставим как вариант... А что, если где-то сохранять дату, меньше которой записи выводить не надо?.. Если будет эта дата, значит можно поочередно выбирать записи с таблиц, даты добавлений которых больше и, отсортировав их по дате, выводить... Проблема теперь вырисовывается с определением самой меньшей даты... Не думаю, что это удачная идея... А что, если сделать id уникальным полем для всех таблиц, а не для одной?.. Хех... Таким образом, последние записи будут с самыми большими id... Но опять же проблема, с поиском самого большого id... Придется где-то его хранить... Куки и сессии для этого не подходят, это однозначно... Создавать еще одну таблицу для самого большого id? Таблицу с одним полем... А смысл? Ладно, допустим, что мы где-то сохранили (или как то определили) самый большой id... Определить все id можно, если записи не удалялись... Если несколько полей выпадут, значит простым вычитанием ничего хорошего мы не получим... Придется где-то хранить еще и записи, которые удалили... Слишком много мучений... Вот моё краткое мнение по поводу решения поставленой задачи... Может они подтолкнут Вас на какую то мысль
1
|
|
|
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
|
|||
| 18.02.2012, 17:21 [ТС] | |||
|
Хех, спасибо
Вот мои мысли по этому поводу.Пока идея с созданием новой таблицы является наиболее актуальной для меня. Но все равно продолжаю поиски вариантов.
0
|
|||
| 18.02.2012, 17:21 | |
|
Помогаю со студенческими работами здесь
5
Выборка из нескольких таблиц, связанных по ID Выборка из нескольких таблиц с JOIN Выборка одновременно из нескольких таблиц с сортировкой
Выборка из нескольких таблиц БД для поиска на сайте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ПЛИС
zxcha1ka_ 27.01.2026
AHDL
Разработать программы для синтеза следующих устройств:
1. Параллельного регистра
4-х разрядного с синхронной загрузкой и асинхронным сбросом (обнулением);
Пoмoгитe пoжaлyйстa
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|