2

У меня включена надстройка MySQL для Excel (MS E:2010) (самая последняя версия).
Я проверил свое соединение с сервером (не локальным), и все отлично, но я не вижу нигде, чтобы написать / вставить пользовательский запрос SQL Select для извлечения данных из разных таблиц, а не только из одной таблицы.

Это не возможно?

Еще 2 варианта:
1) Мне удалось использовать соединитель базы данных и добавить свой сервер (через мастер ODBC), однако я продолжаю получать синтаксические ошибки, и я не знаю почему, поскольку мой синтаксис отлично работает в MySQL Workbench (я пробовал с обоими Варианты ANSI и Юникод).

2) Запустите макрос VBA чтобы запустить файл .bat который запустит мой .sql script в MySQL Workbench, чтобы выполнить запрос и сохранить на жесткий диск в .csv или .txt.

3) (с тех пор я получил часть работы сегодня), запустил макрос VBA с MS Power Query, отчет готов, но он не запишет макрос для автоматизации. :(

Это мои 3(4) варианта, и каждый не работает. Какой лучше всего подходит?

Приветствия.

Вот пример моего запроса SELECT :

USE `store_cart`;
    Select  
        T5.orders_id As OID,
        DATE_FORMAT(T5.date_purchased, '%Y-%m-%d') As ODate,
        T3.products_name As PName,
        T3.products_id As PID,
        T2.products_quantity As Qty,
        T2.products_price As PrOrig,
        T5.currency As Cur,
        "1" As CurVal,
        (select PrOrig) * (select CurVal) as PrBase,
    From /*PREFIX*/products T1
        Left Join /*PREFIX*/orders_products T2 On (T1.products_id = T2.products_id)
        Inner Join /*PREFIX*/orders T5 On (T5.orders_id = T2.orders_id)
        Inner Join /*PREFIX*/products_description T3 On (T1.products_id = T3.products_id)
        Left Join /*PREFIX*/products_to_categories P2 On (T3.products_id = P2.products_id)
        Inner Join /*PREFIX*/customers T6 On T5.customers_id = T6.customers_id
        Left Join /*PREFIX*/paypal P1 On (P1.order_id = T5.orders_id)
        Left Join /*PREFIX*/manufacturers T4 On (T1.manufacturers_id = T4.manufacturers_id)
        Left Join /*PREFIX*/group_pricing g1 On T6.customers_group_pricing = g1.group_id    
        Left Join /*PREFIX*/orders_status O1 On (O1.orders_status_id = T5.orders_status)

1 ответ1

1

После установки MySQL для Excel, запустите Excel, перейдите на ленту "Данные" и справа вы увидите кнопку "MySQL для Excel". Это должен быть лучший (и предпочтительный) способ подключения к базе данных MySQL с использованием MySQL для Excel.

MySQL для Excel

Если вам нужно объединить данные из разных таблиц, лучшее место для этого - база данных. Создайте представление там (MySQL имеет Workbench, который позволяет вам делать такие вещи интуитивно) и используйте это представление в качестве основы для вашего отчета Excel. Преимущество состоит в том, что теперь у всех есть доступ к этим агрегированным данным. Кроме того: базы данных оптимизированы для агрегирования данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .