Нужна помощь с запросом выборки из joomla

Тема в разделе "Базы данных", создана пользователем zek24, 21 ноя 2012.

Модераторы: latteo
  1. zek24

    zek24

    Moderator
    Регистр.:
    14 ноя 2009
    Сообщения:
    776
    Симпатии:
    230
    Есть задача перенести товары и структуру категорий из джумлы в другой магазин.
    Собственно ничего сложного, уже делал, но в этот раз есть небольшой нюанс.
    Есть три таблицы
    jos_vm_product 617 записей
    jos_vm_product_category_xref 640 записей ввиду того, что несколько товаров относится к разным категориям
    jos_vm_product_price 617 записей
    Мой запрос
    Код:
        $sql11 = "SELECT * FROM
        obychold.`jos_vm_product` p,
        obychold.`jos_vm_product_category_xref` c,
        obychold.`jos_vm_product_price` i
        WHERE c.product_id = i.product_id
        AND i.product_id = p.product_id";
        $result11 = mysql_query($sql11) or die(mysql_error() . "!2!");
    выдает 640 строк, а нужны только 617, то есть только первое "упоминание" в таблице jos_vm_product_category_xref.
    Давно не практиковался с SQL, сейчас не придумаю, как составить такой запрос.
    Надеюсь нормально объяснил проблемку.
     
  2. Leony

    Leony

    Регистр.:
    18 мар 2008
    Сообщения:
    153
    Симпатии:
    25
  3. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.627
    Симпатии:
    1.330
    так почему 617 то будет? ты же перелинковку категорий и товаров тоже выгружаешь? так и будет 640
    И зачем так усложнять жизнь если можно просто выгрузить 3 таблицы?
     
  4. zek24

    zek24

    Moderator
    Регистр.:
    14 ноя 2009
    Сообщения:
    776
    Симпатии:
    230
    Genk0, мне грубо говоря нужно, что бы из таблицы jos_vm_product_category_xref бралось по одной записи по каждому совпадению с c.product_id
    Проблема главная в том, что конда я потом загружаю данные из этой выборки, мне выдается вполне логичное сообщение, мол запись с таким id уже имеется
     
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.403
    Симпатии:
    1.185
    Попробуй добавить в конец sql-запроса
    Код:
    group by p.product_id
    
    тогда будет взята только первая добавленная категория для товара из jos_vm_product_category_xref
     
    Delfi и zek24 нравится это.