Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

sql php как получить данные с двух select (icovers)
Author Message
icovers
Заглянувший



Joined: 10 May 2012
Posts: 2
Карма: -2
   поощрить/наказать


PostPosted: Thu May 10, 2012 1:58 pm (написано за 6 минут 55 секунд)
   Post subject: sql php как получить данные с двух select
Reply with quote

public function getAttributeAtribAvtos($data = array()) {


                      $sql = "(SELECT *,(SELECT agd.name FROM " . DB_PREFIX . "attribute_mark_avto_description agd WHERE agd.attribute_mark_avto_id = a.attribute_mark_avto_id ) AS attribute_mark_avto FROM " . DB_PREFIX . "attribute_atrib_avto a LEFT JOIN " . DB_PREFIX . "attribute_mark_avto_description ad ON (a.attribute_mark_avto_id = ad.attribute_mark_avto_id))UNION(SELECT *,(SELECT agds.name FROM " . DB_PREFIX . "attribute_model_avto_description agds WHERE agds.attribute_model_avto_id = s.attribute_model_avto_id ) AS attribute_model_avto FROM " . DB_PREFIX . "attribute_atrib_avto s LEFT JOIN " . DB_PREFIX . "attribute_model_avto_description sad ON (s.attribute_model_avto_id = sad.attribute_model_avto_id))";



        if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
            $sql .= " ORDER BY " . $data['sort'];
        } else {
            $sql .= " ORDER BY attribute_mark_avto";

        }



        if (isset($data['order']) && ($data['order'] == 'DESC')) {
            $sql .= " DESC";
        } else {
            $sql .= " ASC";
        }

        if (isset($data['start']) || isset($data['limit'])) {
            if ($data['start'] < 0) {
                $data['start'] = 0;
            }

            if ($data['limit'] < 1) {
                $data['limit'] = 20;
            }

            $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
        }

        $query = $this->db->query($sql);

        return $query->rows;
    }



суть такова на выходе как бы объединяются attribute_mark_avto и attribute_model_avto в одну attribute_mark_avto. а мне надо чтобы они были раздельными те выводилось в одну строку attribute_mark_avto, а в другую attribute_model_avto
сейчас все в одну строку выводится как разделить?


Грешу на UNION чем заменить что бы переменные(данные) из select не объединялись в одну?

Помогите пожалуйста!





вопрос еще поставлю по другому может кто подскажет как сделать

есть таблица (attribute_atrib_avto) вней 2 столбца


attribute_mark_avto_id attribute_model_avto_id

    6 6



есть таблица (mark_avto_description) вней 2 столбца


attribute_mark_avto_id name

         6 mitsubishi







есть таблица (model_avto_description) вней 2 столбца




attribute_model_avto_id name
       6 lanser



как сделать вывод из двух таблиц "name" mark_avto_description и model_avto_description не зависимо сортированы по mark_avto_description

по ключам из таблицы attribute_atrib_avto
Back to top
View user's profile Send private message
icovers
Заглянувший



Joined: 10 May 2012
Posts: 2
Карма: -2
   поощрить/наказать


PostPosted: Thu May 10, 2012 5:36 pm (спустя 3 часа 37 минут; написано за 1 минуту 53 секунды)
   Post subject:
Reply with quote

сместилось все

вот так правильнее: attribute_model_avto_id | name
данные в столбцах: 6 | lanser

так же предыдущие
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 270
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Tue Jun 12, 2012 12:58 am (спустя 1 месяц 1 день 7 часов 21 минуту; написано за 3 минуты 4 секунды)
   Post subject:
Reply with quote

icovers

М

оформляйте код - для этого здесь предусмотрены средства. Сейчас код плохо читаем.
Также обращаю Ваше внимание на "в ней" и "независимо".
Вы пробовали исполнять готовый запрос через, например, phpMyAdmin? Что получается?
последняя задача вообще непонятна. Приведите пример, что должно получиться.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML