MySQL - размеры и количество.

PHProgress

Новичок
Вот - есть таблицы в БД.

tbl_application
tbl_audio
tbl_folder
tbl_image
tbl_text
tbl_news


Каждая из таблиц имеет часть схожих стоблцов (id, title, comment, date, autor).
Но допустим в таблице tbl_image есть три дополнительных столбца (size, width, height).
В таблице audio (есть два доп. столбца - long: продолжительность и speed:скрость)
В таблице news (есть доп. столбец - display: скрыть/показать новость)


Как мне грамотно составить ОДИН запрос SELECT для выборки из нескольких таблиц со всеми полями (*) с определенным условиех для всех (WHERE `autor`='Иванов').

Пробовал Union all - но там не получается.
 

PHProgress

Новичок
Т.е. что-то на подобие
SELECT * FROM `tbl_text`, `tbl_image`, `tbl_folder`, `tbl_audio`
WHERE `id` > 10 ORDER BY `id` DESC LIMIT 0, 30;
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Ты бы отделил каменты в отдельную совершенно таблицу, так бы сделал я. То бишь id, title, comment, date, autor < перенес бы в tbl_comments и сделал там в ней id_type, id_item - к какому типу относится коммент и id самого элемента, к которому написали коммент.

Потом джоинил бы к tbl_comments остальные таблицы по tbl_comments.id_item=tbl_audio.id AND id_type='id типа коментов для аудио'

Нужны соответственно индексы по нужным полям.

Забудь вообще про * в запросах. Кто нибудь тебе потом зафигачит там в таблицу поле mediumtext и запишет туда пару метров текста, и все, приплыли...
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
PS: хотелось бы знать ЧТО ты хочешь сделать, зачем тебе столько запросов? Подозреваю что ты там newsfeed ака вконтакте решил намутить)))
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
PHProgress
давай начнем с простого, ты нам расскажешь, что именно ты хочешь сделать и как тебе кажется это надо делать. Если ты приведешь даже далеко не оптимальный вариант - тебе быстрей помогут, нежели если ты будешь и дальше писать, что у тебя ничего не выходит и стесняться показать примеры своего кода...
 

PHProgress

Новичок
Хочу следующее:

Содержимое => вставка в блоки => сборка страницы.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
PHProgress
А теперь вопрос, каким боком тут количество запросов и то, что я тебя дикие селекты к таблице комментариев?
 

PHProgress

Новичок
Там под столбцом коментариев имеется ввиду не коментарии посетителей, а комментарий к файлу (записи) - Т.е. заметка.
Сейчас вопрос только в том как организовать SELECT по нескольким таблицам с определенным условием.

Вот это не совсем подходит.

(
SELECT `title`
FROM `tbl_audio`
)
UNION ALL (

SELECT `title`
FROM `tbl_text`
)
ORDER BY 'id'

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

Какие еще есть варианты SELECTа по нескольким таблицам???
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Я же написал, что можно вынести твои коменты-заметки в одну таблицу и сделать к ней join других таблиц с применением условия в ON.
 
Сверху