Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: простой select
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » простой select

Страниц (1): [1]
 

1. Merrym - 04 Ноября, 2015 - 15:46:58 - перейти к сообщению
Есть такой запрос:
CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT anime.id, anime.info,type.name FROM `anime`, `type` WHERE type.type_id = anime.type_id


Таблица anime.type_id индекс поля type.type_id

Можно sql запрос, как-то уменьшить, только чтоб не type.type_id выводилось а type.name?

Типа
CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT * FROM `anime` ...
2. SAD - 04 Ноября, 2015 - 16:08:24 - перейти к сообщению
поставьте вопрос точнее
3. Merrym - 04 Ноября, 2015 - 17:02:45 - перейти к сообщению
Если сделать select *from anime то будет выводится айдишники место значеный, из второй таблицы.
Как сделать с помощью Join, чтоб они автоматом место type_id вставлялись значения
4. SAD - 04 Ноября, 2015 - 17:14:57 - перейти к сообщению
никак
5. Merrym - 04 Ноября, 2015 - 20:11:45 - перейти к сообщению
Таблица anime содержит инфу про аниме( имя силка на видео, силка на иконку и все такое), у него есть поле type_ id,который сылается на таблицу type

Таблица type создержит типы аниме, у нео есть поле id, name.
Примерно 4-5 значений хранятся, в этой таблице.


Может сделать индексом не type_id а type_name, в таблице name.Вообше это акутально будет? B будет ли выводится сразу нужная мне информация, при селекте???
6. SAD - 04 Ноября, 2015 - 20:26:27 - перейти к сообщению
в чем проблема просто указать то, что Вам нужно получить? зачем Вы что - то пытаетесь городить?
7. Faraon-san - 05 Ноября, 2015 - 10:59:24 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `anime`.`id`, `anime`.`info`, `type`.`name` FROM `anime` LEFT JOIN `type` ON `type`.`id` = `anime`.`type_id`
8. SAD - 05 Ноября, 2015 - 11:07:05 - перейти к сообщению
Да, все что Вам нужно.
9. Merrym - 07 Ноября, 2015 - 19:13:39 - перейти к сообщению
Faraon-san спасибо большое.

(Добавление)
Я только пытаюсь понять и вникнуть в SQL.
(Добавление)
Попробую объяснить задачку,которую сам себе придумал!


Есть Таблица А, которая хранит информацию - про Статью!
Структура А
id - increment
name - varchar (имя статьи)
content -varchar (содержание статьи)
id_type - int (связан с B.id )


Таблица B содержит Тип статьи. 4 типа статьи бывает. У всех статьей должен быть тип.

Структура B

id -increment
name - varchar (имя типа)


У меня появились некоторые сомнения, насчет структуры базы.
Правильно ли я сделал, что вывел ячейку "type" в отдельную таблицу, и связал.
У меня появилась мысля " а может убрать поле id, в таблице B" и сделать связь с полем B.name.И у меня запрос select будет простым, и он будет выводить данные а не числа.
Но я так понял, что глупо будет так делать, это тоже самое, что убрать таблицу B.

Правильно ли я мыслью, и где я ошибаюсь.

 

Powered by ExBB FM 1.0 RC1