За последние 24 часа нас посетили 52530 программистов и 1797 роботов. Сейчас ищут 829 программистов ...

использование join'ов при выборке

Тема в разделе "PHP и базы данных", создана пользователем TigerZaka, 5 июл 2012.

  1. TigerZaka

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

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    Приветствую всех!
    Есть у меня таблицы:
    plan (id_plan, full_image, thumb_image, id_position)
    flat (id_flat, id_position, id_plan, type)
    flats_photos (id_photo, full_image, thumb_image, id_flat)

    Я пытаюсь пока вывести из таблицы flats_photos - картинки, из flat - 'type'. (ну а в дальнейшем присоединить таблицу plan.
    Пытался так:
    Код (Text):
    1. SELECT * FROM `flat`LEFT JOIN `flats_photos` ON flats_photos.id_flat = flat.id_flat WHERE `id_flat`=1
    не работает. Можно вобще использовать WHERE после join'ов? помогите разобраться
     
  2. mrdez

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

    С нами с:
    3 июн 2012
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Латвия
    Примерно так:
    Код (Text):
    1.  
    2. SELECT f.type, fp.*, p.* FROM flat f LEFT JOIN flats_photos fp ON f.id_flat = fp.id_flat LEFT JOIN plan p ON f.id_plan = p.id_plan WHERE f.id_flat = 1
     
  3. TigerZaka

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

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    спасибо, выручил ))
     
  4. TigerZaka

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

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    вот такой вопрос возник, если в таблицах совпадают названия столбцов и после вышеуказанного запроса, мы выводим в цикле данные из этих таблиц, например так:
    Код (Text):
    1. $rt = mysql_query($query);
    2.     while  ($tr = mysql_fetch_array($rt)) {
    3.            echo $tr['full_image'].$tr['full_image']."
    4. }
    то избавиться от неправильного вывода можно только изменив названия столбцов или есть вариант видоизменить $tr['full_image'] ?
     
  5. mrdez

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

    С нами с:
    3 июн 2012
    Сообщения:
    45
    Симпатии:
    0
    Адрес:
    Латвия
    В таком случае сделай просто alias
    Пример:
    Код (Text):
    1.  
    2. SELECT full_image as large_image ...
     
  6. TigerZaka

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

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    Оу, спасибо!