Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос! / 21 сообщений из 21, страница 1 из 1
19.09.2014, 02:26:26
    #38751071
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
Есть три таблицы, как выбрать записи из таблицы ad_p, articles принадлежащие категории с данным ID
...
Рейтинг: 0 / 0
19.09.2014, 05:07:05
    #38751093
Помогите составить запрос!
ISergey.V,

про JOIN уже почитал?
...
Рейтинг: 0 / 0
19.09.2014, 12:03:16
    #38751364
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.VЕсть три таблицы, как выбрать записи из таблицы ad_p, articles принадлежащие категории с данным ID

попробуйте сформулировать задачу более точно
ваша формулировка задачи допускает множество толкований
...
Рейтинг: 0 / 0
19.09.2014, 13:26:14
    #38751484
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
Lumix, нужно выбрать все записи из таблиц `ad_p` и `articles` зная `categories`.`id`, на картинке показана связь.
...
Рейтинг: 0 / 0
19.09.2014, 13:28:52
    #38751492
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.V,

то есть вам нужны:
1)все записи из таблицы `ad_p` с нужной категорией
2)все записи из таблицы `articles` с нужной категорией

И как вы их хотите получить? одной кучей, что ли?
...
Рейтинг: 0 / 0
19.09.2014, 13:49:39
    #38751526
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
tanglir, есть категории, в них может быть либо объявление либо статья, при выборе категории мне нужно отобразить статью или объявление принадлежащее данной категории, как правильно это делается не знаю, возможно модель, что изображена на рисунке сверху совсем не подходит для решения данной задачи хочу услышать решение экспертов, спасибо!
...
Рейтинг: 0 / 0
19.09.2014, 13:53:35
    #38751537
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.V,

если вам нужно только название, то UNION ALL вполне подойдёт
...
Рейтинг: 0 / 0
19.09.2014, 17:06:40
    #38751834
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
Честно, думал это шаблонная и элементарная задача и с ней сталкивается каждый начинающий разработчик сайтов но что то ответов конкретных не вижу
...
Рейтинг: 0 / 0
19.09.2014, 17:08:03
    #38751837
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.V,

читайте мой предыдущий пост, куда уж конкретнее
...
Рейтинг: 0 / 0
19.09.2014, 20:56:52
    #38752063
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
tanglir,
Существуют два основных правила, регламентирующие порядок использования оператора UNION:

Число и порядок извлекаемых столбцов должны совпадать во всех объединяемых запросах;
Типы данных в соответствующих столбцах должны быть совместимы.

В моем случае столбцы не совпадают!
И еще в категории может находится только статья или только объявление
...
Рейтинг: 0 / 0
19.09.2014, 20:58:23
    #38752066
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
tanglir,

если вы это имели ввиду (SELECT * FROM `articles` WHERE `category` = 1) UNION ALL (SELECT * FROM `ad_p` WHERE `id_category` = 1);
набо полей в таблице `articles` и `ad_p` разные
...
Рейтинг: 0 / 0
19.09.2014, 21:01:55
    #38752071
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.V,
мне нужны все поля таблицы
...
Рейтинг: 0 / 0
19.09.2014, 21:04:24
    #38752074
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.V,

Варианты:
1) Дополнить недостающие выбираемые поля (например, NULL-ами или пустыми строками).
2) Выполнять два отдельных запроса. Если первый запрос ничего не вернул, то выполняем второй.
...
Рейтинг: 0 / 0
19.09.2014, 21:06:14
    #38752077
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.VLumix, нужно выбрать все записи из таблиц `ad_p` и `articles` зная `categories`.`id`, на картинке показана связь.

решение такое:

Код: sql
1.
select * from ad_p a join articles b on a.id_category = b.id_category where a.id_category = '115';  
...
Рейтинг: 0 / 0
19.09.2014, 21:09:21
    #38752080
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
LumixISergey.VLumix, нужно выбрать все записи из таблиц `ad_p` и `articles` зная `categories`.`id`, на картинке показана связь.

решение такое:

Код: sql
1.
select * from ad_p a join articles b on a.id_category = b.id_category where a.id_category = '115';  

Не прокатит.ISergey.VИ еще в категории может находится только статья или только объявление
Помог бы FULL OUTER JOIN, но его в MySQL нет. А его эмуляция - тот же UNION.
...
Рейтинг: 0 / 0
19.09.2014, 21:36:29
    #38752102
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
miksoftLumixпропущено...


решение такое:

Код: sql
1.
select * from ad_p a join articles b on a.id_category = b.id_category where a.id_category = '115';  

Не прокатит.

Ну я же просил его объяснить задачу точнее, он не стал объяснять, просто повторил начальную формулировку...
если сформулирует задачу точно, тогда и получит точное решение...
только я правда сейчас начинаю думать, а хватит ли ему квалификации задачу точно сформулировать?....
...
Рейтинг: 0 / 0
15.10.2014, 15:49:13
    #38777553
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
Вернулся к решению данной задачи...
Попытаюсь описать еще раз задачу:
На сайте есть категории товаров к примеру телевизоры, стиральные машины, телефоны, медиацентры и т.д. всего около 80 категорий.

У каждого типа товаров своя таблица со своими уникальными полями.

Зная ID категории как выбирать все телевизоры?!

Так максимально точно описана задача?
...
Рейтинг: 0 / 0
15.10.2014, 16:08:09
    #38777589
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.VУ каждого типа товаров своя таблица со своими уникальными полями.

Зная ID категории как выбирать все телевизоры?!В два запроса:
- узнать название таблицы нужной категории
- сделать выборку из нужной таблицы
...
Рейтинг: 0 / 0
15.10.2014, 16:29:42
    #38777634
ISergey.V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
miksoft,
то что "- узнать название таблицы нужной категории" это я понимаю только как?
...
Рейтинг: 0 / 0
15.10.2014, 16:46:10
    #38777680
unknown member
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
...
Рейтинг: 0 / 0
15.10.2014, 16:58:21
    #38777711
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос!
ISergey.Vmiksoft,
то что "- узнать название таблицы нужной категории" это я понимаю только как?Ну где-то у вас хранится соответствие между ID категории и таблицей для этой категории? Например, в таблице categories.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос! / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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