powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / формирование запроса
5 сообщений из 5, страница 1 из 1
формирование запроса
    #38985693
Дмитри4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток, требуется консультация спецов по mysql

Есть запрос, результат которого надо вставить в другой:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'MAX(IF(t.name = ''',
      name,
      ''', a.data, NULL)) AS ',
      '\'', t.name,'\''
    )
  )
FROM `Archive` as a
INNER JOIN type t on t.uid=a.type_uid
WHERE date_uid=2;



Вставить сюда:
Код: sql
1.
2.
3.
4.
5.
SELECT b.name, b.regnum,<вставить сюда сгенеренный текст>
FROM `Archive` a 
INNER JOIN banks b on b.uid=a.bank_uid
INNER JOIN type  t on t.uid=a.type_uid
WHERE date_uid=2 and currency_uid=1 GROUP BY bank_uid ORDER BY b.regnum;



Подскажите пожалуйста как можно реализовать средствами mysql ?
...
Рейтинг: 0 / 0
формирование запроса
    #38985705
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитри4,

prepared statements
...
Рейтинг: 0 / 0
формирование запроса
    #38985729
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитри4,

Либо prepared statements, как уже подсказали, либо делать это на клиенте.
...
Рейтинг: 0 / 0
формирование запроса
    #38985890
Дмитри4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, разобрался =)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SET @query=NULL;
SET @columns=NULL;

SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT( 'MAX(IF(t.name = ''', name, ''', a.data, NULL)) AS ','\'', t.name,'\'' )
  ) INTO @columns
FROM `Archive` as a
INNER JOIN type t on t.uid=a.type_uid
WHERE date_uid=2;


SET @query=CONCAT('SELECT b.name, b.regnum, ',@columns,'
FROM `Archive` a 
INNER JOIN banks b on b.uid=a.bank_uid
INNER JOIN type  t on t.uid=a.type_uid
WHERE date_uid=2 and currency_uid=1 GROUP BY bank_uid ORDER BY b.regnum');

PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;



Теперь чешу голову, чтобы получить результат в php =(
...
Рейтинг: 0 / 0
формирование запроса
    #38985892
Дмитри4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати в php лучше вызывать через ХП?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / формирование запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]