Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/55: Рейтинг темы: голосов - 55, средняя оценка - 4.87
2 / 2 / 0
Регистрация: 18.09.2014
Сообщений: 12
1

Запрос к одной и той же таблице БД

18.09.2014, 17:29. Показов 10430. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно собрать некоторые данные из одной и той же таблицы myfotogallery_categories в БД myfotogallery.
Таблица имеет такие поля cat_id, cat_name, cat_parent_id, …
Как это сделать правильно, быстро и просто?
Я немного пробовал что то сделать с помощью подзапросов (SQL subquery), но к сожалению, должного результата не получил. Сложность для меня в том, что данные в 1-й таблице.

Мой вариант из нескольких запросов, который работает выглядит так:

MySQL
1
2
3
4
5
CREATE TABLE cat_name_for_sub_cats (`cat_parent_id` INT(10) UNSIGNED NOT NULL DEFAULT '0') ENGINE = MEMORY SELECT DISTINCT cat_parent_id FROM myfotogallery.myfotogallery_categories WHERE cat_parent_id != 0 group by cat_parent_id;
 
SELECT cat_id, cat_name FROM myfotogallery.myfotogallery_categories a, cat_name_for_sub_cats b WHERE a.cat_id=b.cat_parent_id;
 
DROP TABLE IF EXISTS cat_name_for_sub_cats;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2014, 17:29
Ответы с готовыми решениями:

Как оптимизировать запрос с большим количеством join к одной и той же таблице?
Здравствуйте. Есть таблица вида : id fk1 fk2 1 1 7 2 1 3 3 1 9 4 2 ...

Запрос с условием по той же таблице
есть таблица ID,PARENT_ID,NAME,VALUE как написать sql запрос с таким условием если ...

Как правильно составить Inner Join с обращением к одной и той же таблице
не работает такой запрос Select Наименование, Фирма,Плательщик, Город, Договор FROM...

Запрос: приравнять значение в одной таблице значению в другой таблице
как можно осуществить запрос : приравнять значение одной таблицы значению в другой таблицы idn |...

2
Невнимательный
2597 / 974 / 321
Регистрация: 08.02.2013
Сообщений: 5,722
Записей в блоге: 2
18.09.2014, 18:52 2
Или я чего-то непонял,или это как-то бессмысленно ...
или имеется ввиду что-то такое
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT a.cat_id,a.cat_name, b.cat_parent_id, b.cat_name AS cat_name2
FROM `myfotogallery_categories` a LEFT JOIN `myfotogallery_categories` b
ON b.cat_parent_id=a.cat_id
WHERE a.cat_id!=a.cat_parent_id;
 
--  или такое-же
 
SELECT a.cat_id,a.cat_name, b.cat_parent_id, b.cat_name AS cat_name2
FROM `myfotogallery_categories` a
LEFT JOIN
    (SELECT cat_parent_id, cat_name FROM `myfotogallery_categories`
        WHERE cat_id=cat_parent_id GROUP BY id) b
    ON b.cat_parent_id=a.cat_parent_id
WHERE a.cat_id!=a.cat_parent_id;
Добавлено через 4 минуты
в первом запросе наверное тоже ON b.cat_parent_id=a.cat_parent_id
0
2 / 2 / 0
Регистрация: 18.09.2014
Сообщений: 12
23.09.2014, 00:26  [ТС] 3
Вот что получилось,благодаря подсказке.
Может кому то пригодиться.

MySQL
1
2
SELECT C1.cat_parent_id as cat_id, C2.cat_name  FROM myfotogallery_categories C1, myfotogallery_categories C2 
WHERE C1.cat_parent_id!=0 AND C1.cat_parent_id=C2.cat_id group by cat_id;
Добавлено через 6 минут
Таблица содержит иерархическую структуру.
Есть категории и есть подкатегории.

Запрос собирает инфо о имеющих подкатегории категориях, а именно id и название.
Используется в дальнейшем с другой инфо для создания вывода информации веб формой (таблица) с помощью плагина jQuery.
0
23.09.2014, 00:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2014, 00:26
Помогаю со студенческими работами здесь

Сложный запрос к одной таблице
Прошу дать ориентир по выбору решения составления нужного запроса. вообщем есть лог база работы...

Запрос сравнения по одной таблице
Ребята подскажите как решить такую задачу, есть таблица id - datetime - title - price В эту...

Запрос к одной таблице через другую
SELECT `t1`.`id` as `fid`, `t1`.`name` as `name`, `t1`.`desc` as `desc` FROM `adcentre_forums` as...

Запрос на сравнение значений 2х столбцов в одной таблице
Помогите создать запрос в MySql. Есть таблица со столбцами id1 и id2. Нужно вывести все строки в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru