Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изберете от име на динамична таблица

Отваряте 1 ( и затворете 2 ) . Премахнете последното:

SELECT CONCAT('changes',year,month) FROM changes

Редактиране

второто изявление вероятно трябва да бъде

SET @x := SELECT * FROM (@b) as b;

Това работи, но не сте сигурни дали това е, което искате:

SET @b := 'SELECT CONCAT(''changes'',`year`,`month`) FROM whichchanges';
SET @x := 'SELECT * FROM (SELECT CONCAT(''changes'',`year`,`month`) FROM whichchanges) as b';
Prepare stmt FROM @b;
Prepare stmt FROM @x;
Execute stmt;

Редактиране2

Ако те разбрах правилно, търсиш тази единствена заявка:

select * from changes
where change_column in (select distinct concat(`year`, `month`) from whichchanges)

Редактиране3

select @b := group_concat(concat(' select * from changes', `year`, `month`, ' union ') separator ' ') as w from whichchanges;
set @b := left(@b, length(@b) - 6);

Prepare stmt FROM @b;
Execute stmt;

Пример за SQLFiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. променете двигателя по подразбиране на mysql на innodb

  2. MySQL MariaDB – Заявка с помощта на Temp Table

  3. Кое е най-доброто решение за обединяване на връзки към базата данни в python?

  4. MySQL търсене на json стойност по ключ в масив

  5. Excel VBA:писане в mysql база данни