За последние 24 часа нас посетили 20083 программиста и 1564 робота. Сейчас ищут 1948 программистов ...

Связь между таблицами MySQL

Тема в разделе "PHP и базы данных", создана пользователем dinu, 16 сен 2010.

  1. dinu

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

    С нами с:
    16 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Имеются две таблицы в базу данны MySQL.
    В первой таблицы ести столбец poster_id(2,4,6,3,2,4...), во второй id(1,2,3,4,5.... ;Auto incrementI) и login(login1, login2, login3....).
    нужно связать таблицы так чтобы при выведение $row['login'] выводились имена в порядке pister_id, тоесть: login2, login4, login6, login3....
    пробовал так:
    PHP:
    1. SELECT login FROM `table2` INNER JOIN `table1` ON table1.poster_id=table2.id
    получилось что при id = 2, login выводился столько раз сколько цифра 1 присудствовала в poster_id, примерно так:
    login2, login2, login3, login3, login4.....
    тоже самое и с id = 1 , 3 , 4....

    Как мне правилино связать таблицы??
    Заранее спасибо тем кто ответил.
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
  3. dinu

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

    С нами с:
    16 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Apple

    поскольку я знаю обеденение таблиц делается именно через INNER JOIN, или я не прав???
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Не обязательно.
    Это тип присоединения
     
  5. dinu

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

    С нами с:
    16 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    tommyangelo
    Тогда какой тип соединения мне нужно использовать, и по конкретнее пожалуста, если можно с примером.
     
  6. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
  7. runner

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

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    если я правильно понял, то нужно получить список различных login. В этом случае нужно использовать group by

    [sql]
    SELECT u.login FROM `table1` p left outer JOIN `table2` u ON u.id=p.poster_id group by p.poster_id
    [/sql]
     
  8. dinu

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

    С нами с:
    16 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    спасибо огромное за ответ, думаю дальше сам разьерусь :D
     
  9. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    runner
    В данном случае думаю лучше использовать distinct