|
|
|
|
|
для: mihdan
(29.09.2008 в 18:49)
| | Возможно вас заинтересует наша книга "MySQL 5. В подлиннике". | |
|
|
|
|
|
|
|
для: Trianon
(28.09.2008 в 20:21)
| | Неплохое руководство, спасибо | |
|
|
|
|
|
|
|
для: cheops
(29.09.2008 в 00:46)
| | Спасибо. А например по MySQL? | |
|
|
|
|
|
|
|
для: Trianon
(29.09.2008 в 13:41)
| | ну тогда я спокоен, просто думал что есть ещё другие варианты, по лучше, но по скольку первый вариант является таким, то я его тогда и буду продолжать использовать.
насчёт третьего варианта, всё верно, использовать в данном случаи было бы не правильно, слишком большой массив получился бы, другое дело еслибы массив ограничивался всего несколькими записями. | |
|
|
|
|
|
|
|
для: 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 постоянно, а заранее один раз сформировать массив со всеми городами,регионами, странами, и уже непосредственно с массива выбирать название города.
Из всех трёх перечисленных вариантов по мне больше подходит первый вариант, но я незнаю, может помимо этих есть ещё какойто другой вариант ещё лучше чем эти, да и как вообще все делают? | |
|
|
|
|
|
|
|
для: mihdan
(28.09.2008 в 14:28)
| | Если честно, действительно что-то не наблюдается сейчас на рынке детальных книг по чистому SQL (тем более описывающих последние стандарты). Более или менее детальное описание видел лет пять назад. Больше выпускают книги по конкретным СУБД, вероятно из-за того, что на них больший спрос. | |
|
|
|
|
|
|
|
для: mihdan
(28.09.2008 в 14:28)
| | Даже не знаю, что и ответить...
Для начала предложил бы "SQL, Руководство по изучению языка", Крис Фиайли.
А чтоб для детального... затрудняюсь с советом. | |
|
|
|
|
|
|
|
для: Trianon
(27.09.2008 в 21:06)
| | Вопрос не по теме:
Trianon, какую книгу вы бы посоветовали для детального изучения SQL. | |
|
|
|
|
|
|
|
для: web777
(28.09.2008 в 13:19)
| | >но не в синтаксисе проблема, меня больше интересует сама логика, какой правильный вариант - доставать названия города, тот вариант что я привел или может есть какойто ещё?
Вы пытаетесь проверять свои варианты?
Пока что ни одного правильного Вы не написали.
В последнем случае - откуда возьмется поле geo.name ? | |
|
|
|
|