За последние 24 часа нас посетили 17411 программистов и 1300 роботов. Сейчас ищут 1540 программистов ...

Простое объединение таблиц

Тема в разделе "MySQL", создана пользователем Юрий Удовиченко, 15 окт 2011.

  1. Юрий Удовиченко

    Юрий Удовиченко Активный пользователь

    С нами с:
    26 сен 2011
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Хабаровск
    Я дико извиняюсь, что не по теме PHP - но уже 2 часа рою мануал MySQL и сеть, перепробовал кучу вариантов - и не могу добиться.
    У меня есть просто 4 совершенно идентичных таблицы - просто в одной - 1-комн квартиры, во второй -2 х комнатные и т.п. Надо просто чтоб MySQL искал сразу во всех. Казалось бы задай - список таблиц FROM flats1, flats2, flats3, flats4 - а нифига - это не работает. Уже и пытался flats1 JOIN flats2 ON flats1.id = flats2.id и т.п. и с точками объединяющими столбцов писать - нифига. Не работает.
    Все примеры только витиеватые, типа данные из одной таблицы подставить в данные другой по разным столбцам, а тут же ВСЕ столбцы идентичные! Что ьускле не понятно? Уже крыша едет - столько времени убить на такое пустяковое задание. :)
     
  2. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    потому что все квартиры должны быть в одной таблице, с дополнительным полем "кол-во комнат"
     
  3. Юрий Удовиченко

    Юрий Удовиченко Активный пользователь

    С нами с:
    26 сен 2011
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Хабаровск
    Вон сейчас втавил NATURAL JOIN - хоть ошибку перестало выдавать. Но результатов 0. Заправшиваю 3 столбца (не id) из таблиц при определённыхусловиях WHERE - и тишина. Ищу далее.
     
  4. Юрий Удовиченко

    Юрий Удовиченко Активный пользователь

    С нами с:
    26 сен 2011
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Хабаровск
    Из этого дибильного manual'а, о JOIN syntax с огромным количеством ответвлений на странице и отсылок куда подальше вроде выяснил, что таблицы он объединяет по горизонтали - т.е. добавляет столбцы из всех (или не всех) заданных таблиц в одну. А КАК ЖЕ, ЁШКИН КОТ, объединить их по вертикали в одни и те же стобцы??? Про это пока тишина.
     
  5. Юрий Удовиченко

    Юрий Удовиченко Активный пользователь

    С нами с:
    26 сен 2011
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Хабаровск
    Об этом я тоже думал - это легко. Но, как мне кажется, сделать несколько таблиц размером в 10-20 мегабайт и запрашивать их по-отдельности (в зависимости от изначально заданного критерия поиска) быстрее, чем шустрить по 40-80 мегабайтной постоянно. К тому же апдейт этой таблицы будет значительно дольше - а это по тысяче-две объявлений за раз просмотреть из 10-20тысяч.
    Да и задание вроде бы пустяцкое - ну неужели нет решения???
     
  6. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    неправильные решения порождают неправильные вопросы.
    и join-ы тут не помогут. возможно поможет union, но это неправильное решение.

    правильное решение - все квартиры должны быть в одной таблице. мускул поддерживает работу с миллионами записей, так что 1-2 тысячи в день дадут тебе всего полмиллиона записей за год. при правильной организации и индексации всё будет работать на ура. к тому же не думаю, что актуальных записей будет так много (если это объявления).
     
  7. Юрий Удовиченко

    Юрий Удовиченко Активный пользователь

    С нами с:
    26 сен 2011
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Хабаровск
    Да. Утро вечера мудренее - я к этому тоже уже за ночь пришёл (тем более других вариантов нет) :). Спасибо.
    Но всё же странно. Я уже на сайт Мускула задал этот вопрос - посмотрим, что ответят ;)