За последние 24 часа нас посетили 17650 программистов и 1721 робот. Сейчас ищут 1008 программистов ...

Помогите написать запрос

Тема в разделе "PHP для новичков", создана пользователем amf1k, 22 апр 2015.

  1. amf1k

    amf1k Активный пользователь

    С нами с:
    20 авг 2014
    Сообщения:
    86
    Симпатии:
    0
    есть таблица в БД "kino"
    2 поля: название фильма "title" и актер играющий роль "actor"
    нужно выбрать все фильмы где играют роль определенные 2 актера вместе
    вот мой запрос, он конечно не работает(
    SELECT `title` FROM `kino` WHERE `actor`="Вася" AND `actor`="Петя"
    помогите исправить запрос?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    если в фильме два актёра, то как это записано в базе данных?
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    запомни: поле не может быть одновременно равно двум разным значениям.
         — К.О.

    Добавлено спустя 1 минуту 38 секунд:
    ShrödingerSQL еще не создали, lol
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    создай отдельную таблицу для актеров, например:
    Код (PHP):
    1. #таблица актеров
    2. CREATE TABLE actor(
    3.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, #идентификатор актера
    4.     id_muvie INT(10) NOT NULL,                  #идентификатор фильма, где снимается актер
    5.     name VARCHAR(100) NOT NULL                  #имя актера
    6. );
    7.  
    Добавлено спустя 9 минут 5 секунд:
    И теперь для того чтобы получить список актеров которые снимаются в определенном фильме, тебе хватает сделать запрос в бд такого вида:
    допустим id_muvie = 1 это идентификатор фильма "В погоне за счастьем". где снимались актеры "Уилл Смит",
    "Джейден Смит" и. т. д.
    Код (PHP):
    1. SELECT*FROM `actor` WHERE `id_muvie` = '1';
    и мы получим актеров которые мнимаются в этом кино

    а таблица фильмов пусть будет такого вида.
    Код (PHP):
    1. #таблица фильмов
    2. CREATE TABLE muvie(
    3.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, #идентификатор фильма
    4.     title VARCHAR(100) NOT NULL                 #название фильма
    5. );
     
  5. amf1k

    amf1k Активный пользователь

    С нами с:
    20 авг 2014
    Сообщения:
    86
    Симпатии:
    0
    у меня таблица структура таблицы такая же!

    у меня это уже связаные фильмы и актеры
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    покажи дамп этих двух таблиц
     
  7. amf1k

    amf1k Активный пользователь

    С нами с:
    20 авг 2014
    Сообщения:
    86
    Симпатии:
    0
    Вот 3 таблицы:
    1-я таблица фильмы
    id,title (название фильма)
    2-я таблица актеры
    id,name (имя актера)
    3-я таблица роли (то есть, фильм и актеры. которые играют роль в этом фильме)
    title (название фильма), actor (актер, который играет роль в этом фильме)
    Вопрос тот же?
     
  8. amf1k

    amf1k Активный пользователь

    С нами с:
    20 авг 2014
    Сообщения:
    86
    Симпатии:
    0
    Пример:

    id - 1
    movie - Злодей
    actor - Даша

    id - 2
    movie - Злодей
    actor - Вася

    id - 3
    movie - Злодей (Это уже другой фильм "Злодей")
    actor - Вася

    id - 4
    movie - Злодей (Это уже другой фильм "Злодей")
    actor - Катя

    id - 5
    movie - Санта Барбара
    actor - Даша

    id - 6
    movie - Санта Барбара
    actor - Вася

    id - 7
    movie - Злодей
    actor - Петя

    id - 8
    movie - Герой
    actor - Петя

    id - 9
    movie - Герой
    actor - Вася

    итог 4 фильма:
    Фильм "Злодей": актеры - Даша,Вася,Петя
    Фильм "Злодей другой фильм": актеры - Вася,Катя
    Фильм "Санта Барбара": актеры - Даша,Вася
    Фильм "Герой": актеры - Петя,Вася

    например нужно вытащить фильмы Васи и Пети, где они играли роль вмете
    получаем 2 фильма: "Злодей","Герой"
     
  9. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    ничего не сходится. Выложи дамп таблиц, пожалуйста.
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Эта таблица должна была выглядеть
    id фильма --- id актёра

    Над запросом подумаю, что-то сейчас не соображаю
     
  11. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Код (PHP):
    1. select (actor) from kino where title='Злодей';
    если я все правильно понял, должен получить список актеров которые снимаются в фильме "Злодей"

    Добавлено спустя 1 минуту 26 секунд:
    тебе надо реорганизовать бд пока проект не разросся
    имхо
     
  12. amf1k

    amf1k Активный пользователь

    С нами с:
    20 авг 2014
    Сообщения:
    86
    Симпатии:
    0
    нет, Вы неправильно поняли!(
     
  13. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    amf1k, я тебя умоляю ,покажи структуру бд, а то я гадаю и ничерта не получается