Помощник
|
Обращение к разным таблицам из базы |
Kuchuluk
|
Сообщение
#1
|
||
|
|
||
|
|||
matroskin8 |
29.1.2012, 17:30;
Ответить: matroskin8
Сообщение
#2
|
|
Да, в большинстве случаев 1 таблица = 1 запрос. В зависимости от задачи можно объединять данные из различных таблиц в одном запросе, но пока что не стоит забивать себе этим голову... лучше доведите до автоматизма работу с простыми вещами.
|
|
|
Kuchuluk
|
Сообщение
#3
|
|
SELECT * FROM table1,table2 WHERE table1.name='vasya' AND table2.firstname='pupkin'; таким способом пристыковки можно? |
|
|
matroskin8 |
29.1.2012, 20:32;
Ответить: matroskin8
Сообщение
#4
|
|
А попробовать? В том же phpMyAdmin есть вкладка SQL, где можно ввести любой запрос и получить результат. Так делать можно, но именно так делать - неправильно. Объединение таблиц правильно производить по внешнему ключу, получая при этом результирующую таблицу со связанными данными, а не по абсолютно разным значениям ("vasya" и "pupkin").
|
|
|
Kuchuluk
|
Сообщение
#5
|
|
|
|
|
yury_mw |
29.1.2012, 22:07;
Ответить: yury_mw
Сообщение
#6
|
|
Kuchuluk,
зачем результирующую таблицу заносить в БД? Просто будете использовать результат объединения в своих запросах. Почитайте, должно помочь: http://ru.wikipedia.org/wiki/Join_(SQL) Поблагодарили: (0) |
|
|
matroskin8 |
29.1.2012, 23:04;
Ответить: matroskin8
Сообщение
#7
|
|
и эту результирующую таблицу тоже заносить в БД? Под результирующей таблицей имеется в виду результат, получаемый от сервера БД на Ваш запрос... этот результат ведь также представлен в табличном виде. Ну а заносить его в БД зачем? Вы ведь, получая комментарии к статье для вывода их на сайт, не вносите их в БД... Поблагодарили: (0) |
|
|
Kuchuluk
|
Сообщение
#8
|
|
yury, matroskin8, спасибо, я понял. результирующюю таблицу нужно получать, чтобы впоследствии с ней работать. Но я имел в виду не совсем это Я имел в виду вот что: например на страницу нужно вывести автора книги, ее название, краткое описание и жанр, к которому она относится. Автор находится в одной таблице, название и краткое описание в другой и жанр в третьей. И вот чтобы их вывести рядом друг с другом, как это реализовывается? Делается три запроса к базе данных и потом они через оператор printf выводятся что-ли?
|
|
|
matroskin8 |
30.1.2012, 1:24;
Ответить: matroskin8
Сообщение
#9
|
|
Пока Вы только учитесь - можно сделать и 3 запроса. А вообще это делается одним запросом, объединяющим записи нескольких таблиц. Здесь главное правильно спроектировать БД, чтобы прослеживались связи объединяемых таблиц. Вот, к примеру, 2 таблицы из Вашего вопроса:
таблица books: id | name | genre 1 | Книга 1 | 1 2 | Книга 2 | 2 3 | Книга 3 | 1 4 | Книга 4 | 1 Здесь содержится название книги и ее жанр. Но жанр представлен числовым типом. Данным полем эта таблица ссылается на так называемый справочник, в котором содержится список жанров. Эта связь может быть использована для создания внешнего ключа с целью поддержания справочной целостности. Вторая таблица genre: id | genre 1 | Детектив 2 | Приключения Теперь объединяем обе таблицы. Способ 1: SELECT books.id, books.name, genre.genre FROM books, genre WHERE books.genre = genre.id Результат: id | name | genre 1 | Книга 1 | Детектив 2 | Книга 2 | Приключения 3 | Книга 3 | Детектив 4 | Книга 4 | Детектив Способ 2: SELECT * FROM books JOIN genre ON books.genre = genre.id Результат: id | name | genre | id | genre 1 | Книга 1 | 1 | 1 | Детектив 2 | Книга 2 | 2 | 2 | Приключения 3 | Книга 3 | 1 | 1 | Детектив 4 | Книга 4 | 1 | 1 | Детектив В общем, где-то так... мой Вам совет - прежде, чем углубляться в "дебри" языка SQL, все же освойте простейшее, а уж затем почитайте какую-нибудь книжку по языку запросов... например, могу порекомендовать Мартина Грабера. Поблагодарили: (0) |
|
|
Kuchuluk
|
Сообщение
#10
|
|
|
matroskin8, спасибо, попробую
мой Вам совет - прежде, чем углубляться в "дебри" языка SQL, все же освойте простейшее, а уж затем почитайте какую-нибудь книжку по языку запросов... например, могу порекомендовать Мартина Грабера. просто мне это уже сейчас нужно реализовывать.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Большие базы Semrush кейвордов по разным тематикам! Много кейвордов с трафиком и без конкуренции! Volume, KD, CPC | 23 | Krok | 6890 | Сегодня, 5:58 автор: Krok |
|
Свежие базы ключевых слов с подсказок гугла! | 126 | Krok | 68715 | Вчера, 5:04 автор: Krok |
|
Базы Youtube кейвордов с данными по конкуренции и Volume | 6 | Krok | 1590 | 23.4.2024, 5:43 автор: Krok |
|
Пакетное размещение статей по разным тематикам. Скидки! | 36 | kasey7 | 11027 | 6.4.2024, 4:30 автор: kasey7 |
|
Нужно разносить телеграм каналы по разным аккаунтам? | 9 | Mixatraider | 1900 | 20.3.2024, 18:34 автор: Rebex |
Текстовая версия | Сейчас: 25.4.2024, 10:24 |