Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как правильно получать названия городов из другой таблици?

Сообщения:  [1-10]   [11-18] 

 
 автор: cheops   (30.09.2008 в 01:11)   письмо автору
 
   для: mihdan   (29.09.2008 в 18:49)
 

Возможно вас заинтересует наша книга "MySQL 5. В подлиннике".

  Ответить  
 
 автор: mihdan   (29.09.2008 в 18:50)   письмо автору
 
   для: Trianon   (28.09.2008 в 20:21)
 

Неплохое руководство, спасибо

  Ответить  
 
 автор: mihdan   (29.09.2008 в 18:49)   письмо автору
 
   для: cheops   (29.09.2008 в 00:46)
 

Спасибо. А например по MySQL?

  Ответить  
 
 автор: web777   (29.09.2008 в 13:48)   письмо автору
 
   для: Trianon   (29.09.2008 в 13:41)
 

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

насчёт третьего варианта, всё верно, использовать в данном случаи было бы не правильно, слишком большой массив получился бы, другое дело еслибы массив ограничивался всего несколькими записями.

  Ответить  
 
 автор: Trianon   (29.09.2008 в 13:41)   письмо автору
 
   для: web777   (29.09.2008 в 12:49)
 

Первый и есть правильный.
Насчет третьего - метод применяется, когда формируемый массив невелик сам по себе. Как я понимаю, это не Ваш случай.

  Ответить  
 
 автор: web777   (29.09.2008 в 12:49)   письмо автору
 
   для: cheops   (29.09.2008 в 00:46)
 

хорошо, я признаю что в SQL не такой асс, и я допустил ошибку, сейчас переписал заново создал базу чтобы на ней проверить, всё работает, вот работающий пример


 SELECT

 data.id,
 data.title,
 data.text,
 data.city_id,

 geo.name AS city_name

 FROM data LEFT JOIN geo ON data.city_id = geo.id


Напомню имеются две таблици


Таблица городов, стран и регионов
GEO
id | parent | name


Таблица данных, к примеру объявлений
Data
id | title | text | city_id

поле city_id будет хранить ID города из таблицы GEO.

Вообще есть три варианта о которых я знаю, первый вариант это выше написанный, второй вариант, написать отдельную функцию get_city() которая будет делать один запрос к таблице GEO для выбора города, и при запросе при запросе


 SELECT

 data.id,
 data.title,
 data.text,
 data.city_id

 FROM data


выводить таким образом get_city($row['city_id']) но этот вариант я думаю совсем не подходит, т.к число запросов равняется числу записей выводимых из таблицы Data.

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

Из всех трёх перечисленных вариантов по мне больше подходит первый вариант, но я незнаю, может помимо этих есть ещё какойто другой вариант ещё лучше чем эти, да и как вообще все делают?

  Ответить  
 
 автор: cheops   (29.09.2008 в 00:46)   письмо автору
 
   для: mihdan   (28.09.2008 в 14:28)
 

Если честно, действительно что-то не наблюдается сейчас на рынке детальных книг по чистому SQL (тем более описывающих последние стандарты). Более или менее детальное описание видел лет пять назад. Больше выпускают книги по конкретным СУБД, вероятно из-за того, что на них больший спрос.

  Ответить  
 
 автор: Trianon   (28.09.2008 в 20:21)   письмо автору
 
   для: mihdan   (28.09.2008 в 14:28)
 

Даже не знаю, что и ответить...
Для начала предложил бы "SQL, Руководство по изучению языка", Крис Фиайли.
А чтоб для детального... затрудняюсь с советом.

  Ответить  
 
 автор: mihdan   (28.09.2008 в 14:28)   письмо автору
 
   для: Trianon   (27.09.2008 в 21:06)
 

Вопрос не по теме:

Trianon, какую книгу вы бы посоветовали для детального изучения SQL.

  Ответить  
 
 автор: Trianon   (28.09.2008 в 13:42)   письмо автору
 
   для: web777   (28.09.2008 в 13:19)
 

>но не в синтаксисе проблема, меня больше интересует сама логика, какой правильный вариант - доставать названия города, тот вариант что я привел или может есть какойто ещё?

Вы пытаетесь проверять свои варианты?
Пока что ни одного правильного Вы не написали.
В последнем случае - откуда возьмется поле geo.name ?

  Ответить  

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования