Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » sql запрос

Ответить
Настройки темы
sql запрос

Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: E-mail
Дата: 17-12-2006
есть три таблицы:

===
site:
===
id
name
type_id //тип сайта

===
page
===
site_id
name
type_id //тип страницы

===
type
===
id
name


как одним запросом показать ВСЕ содержимое из трех таблиц, где site.id='1' mysql?

-------
Основы HTML | Конференции


Отправлено: 03:24, 17-12-2006

 

Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


select page.id as page_id, type2.name as page_type
from site, page, type as type1, type as type2
where
(site.id = page.site_id
and site.type_id = type1.id
and page.type_id = type2.id
)
and site.id='1'

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 01:38, 22-12-2006 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


у меня получается:

site1 aboutsite1 type1
site1 aboutsite1 type2
site1 aboutsite1 type3
site2 aboutsite2 type1
site2 aboutsite2 type2
site2 aboutsite2 type3
site3 aboutsite3 type1
site3 aboutsite3 type2
site3 aboutsite3 type3

а мне надо:

site1 aboutsite1 type1
_____________ type2
_____________ type3
site2 aboutsite2 type1
_____________ type2
_____________ type3
site3 aboutsite3 type1
_____________ type2
_____________ type3

как?

_ = NULL например

-------
Основы HTML | Конференции


Отправлено: 02:35, 26-12-2006 | #12

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


E-mail
ну Вы же работаете в пределах реляционной СУБД. Так что пропущенных клеток в таблице быть не может. Вычищайте их уже вне СУБД. (на том же PHP)

Отправлено: 10:00, 26-12-2006 | #13


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


mar интересует как с помощью sql не тащить лишние данные.. например если уже есть такие данные то в следущей строке тащить поле со значением null

предварительно заменив повтор на null соответственно

-------
Основы HTML | Конференции


Отправлено: 19:40, 26-12-2006 | #14

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


не получится (вернее можно попробовать извратиться, но, во-первых, скорей всего не для mysql, во-вторых, изврат сожрет больше ресурсов, чем ты сэкономишь)

Отправлено: 21:13, 26-12-2006 | #15


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


E-mail
такое можно, но овчинка выделки не стоит, вы потеряете на увеличении нагрузки на процессор больше чем сэкономити на уменьшении объема данных.

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 15:18, 27-12-2006 | #16


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


интересует овчинка)

-------
Основы HTML | Конференции


Отправлено: 08:06, 29-12-2006 | #17


Аватара для sen1983

Пользователь


Сообщения: 107
Благодарности: 2

Профиль | Отправить PM | Цитировать


E-mail
Можно выбрать результаты во временную таблицу:
site1 aboutsite1 type1
site1 aboutsite1 type2
site1 aboutsite1 type3
site2 aboutsite2 type1
site2 aboutsite2 type2
site2 aboutsite2 type3
site3 aboutsite3 type1
site3 aboutsite3 type2
site3 aboutsite3 type3

После этого сделать в ней модификации, которые приведут ее к виду
site1 aboutsite1 type1
_____________ type2
_____________ type3
site2 aboutsite2 type1
_____________ type2
_____________ type3
site3 aboutsite3 type1
_____________ type2
_____________ type3

после этого сделать Select по этой таблице... Это какойто изврат... Лучше запихнуть все это в хранимую процедуру. имя временной таблицы начинать с ##. (Я так понял что мы говорим про MS Sql)
PS: полностью согласен с Vlad Drakula

-------
это не компы кривые - это руки такие. На компы под управлением Linux не распространяется.


Отправлено: 13:48, 29-12-2006 | #18


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


нет, не нужно доп таблиц, не нужно mssql
нужно в mysql используя например подзапросы в одном запросе

-------
Основы HTML | Конференции


Отправлено: 14:11, 30-12-2006 | #19


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Цитата:
site1 aboutsite1 type1
site1 aboutsite1 type2
site1 aboutsite1 type3
site2 aboutsite2 type1
site2 aboutsite2 type2
site2 aboutsite2 type3
site3 aboutsite3 type1
site3 aboutsite3 type2
site3 aboutsite3 type3

а мне надо:

site1 aboutsite1 type1
_____________ type2
_____________ type3
site2 aboutsite2 type1
_____________ type2
_____________ type3
site3 aboutsite3 type1
_____________ type2
_____________ type3
Я честно говоря не понимаю большой разницы.
Просто записывай site1 в переменную и итерируй: пока эта переменная равна site1, то и все type-ы принадлежат этому site1. Тоже самое для других site-ов

-------
Fortes fortuna adiuvat


Отправлено: 14:38, 30-12-2006 | #20



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » sql запрос

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие БД - SQL запрос на выборку по дате echo off Программирование и базы данных 1 10-06-2009 01:15
Delphi - [решено] SQL-запрос на Delphi FRZ Программирование и базы данных 2 16-04-2009 15:42
Разное - украшаем запрос MS SQL pva Программирование и базы данных 26 16-10-2008 12:07
SQL запрос pauluss Вебмастеру 5 11-06-2004 09:14
SQL-запрос anridir Программирование и базы данных 2 23-09-2002 07:11




 
Переход