我有一个包含几种不同类型调查的数据库。每个调查在数据库中都有自己的表。一些调查具有相同的结构。它们具有相同的列数。我想根据表名包含的内容和列数选择调查的子集。
我想要的调查可以有两个不同的名称,并且名称中都包含数字:
SELECT table_name FROM information_schema.TABLES
WHERE ((TABLE_NAME like '%ls_survey_%') or (TABLE_NAME like '%ls_old_survey_%'))
and TABLE_NAME rlike '[0123456789]'
到现在为止还挺好。我知道我可以得到一个表中的列数:
SELECT count(*) FROM information_schema.COLUMNS WHERE table_name = 'tableName'
对于如何组合上面的两个表达式以仅获取满足第一个表达式且仅具有给定列数的表,我感到很困惑。