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 सशर्त सम्मिलित करें

  2. PHP/MySQL दिनांक/समय अंतर

  3. स्क्लेल्केमी, कच्ची क्वेरी और पैरामीटर

  4. विदेशी कुंजी के साथ और उसके बिना संदर्भों का उपयोग करने के बीच अंतर?

  5. क्या तेज़ है, MySQL में DISTINCT या GROUP BY चुनें?