Php 如何从Select Distinct中排除表
我快疯了 我想生成一个需要通过循环的表数组,但不希望包含表“ClientData”。不管我做什么,它总是出现在阵列中 我试过这个:Php 如何从Select Distinct中排除表,php,mysql,arrays,select,distinct,Php,Mysql,Arrays,Select,Distinct,我快疯了 我想生成一个需要通过循环的表数组,但不希望包含表“ClientData”。不管我做什么,它总是出现在阵列中 我试过这个: SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('QuoteID') AND COLUMN_NAME NOT REGEXP '\\([^\\)]*ClientData.*\\)' AND TABLE_SCHEMA='$db'; SELECT D
SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('QuoteID') AND
COLUMN_NAME NOT REGEXP '\\([^\\)]*ClientData.*\\)'
AND TABLE_SCHEMA='$db';
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='$db' OR
`COLUMN_NAME` LIKE 'Training%' OR
`COLUMN_NAME` LIKE 'Development%' OR
`COLUMN_NAME` LIKE 'Hardware%' OR
`COLUMN_NAME` LIKE 'MobilityL%'
我试过这个:
SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('QuoteID') AND
COLUMN_NAME NOT REGEXP '\\([^\\)]*ClientData.*\\)'
AND TABLE_SCHEMA='$db';
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='$db' OR
`COLUMN_NAME` LIKE 'Training%' OR
`COLUMN_NAME` LIKE 'Development%' OR
`COLUMN_NAME` LIKE 'Hardware%' OR
`COLUMN_NAME` LIKE 'MobilityL%'
在第二种情况下,我尝试使用LIKE函数只提取我需要的表,但它仍然提取ClientData。我甚至还补充说:
`COLUMN_NAME` NOT LIKE 'ClientData'
“客户%”的每一个变化
我精疲力竭了。非常感谢任何人的帮助
维亚鲁托普 你为我打破了堤坝,谢谢!出于某种原因,我被列名吸引住了,我应该一直想着表名。尴尬 我抄袭了你的桌子名ClientData’,并用表名替换了列名过滤器,这很完美。这是最后的结果:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='$db' OR
TABLE_NAME LIKE 'Training%' OR
TABLE_NAME LIKE 'Development%' OR
TABLE_NAME LIKE 'Hardware%' OR
TABLE_NAME LIKE 'MobilityL%' AND
TABLE_NAME != 'ClientData'
只使用表格名称!='ClientData的过滤器不够严密,因为我还需要过滤掉一些其他表,但这是完美的。再次感谢。我已经连续编写了50多个小时的代码,以满足最后期限的要求(需要停止为某些事情做志愿者!),这让我离睡眠时间又近了约2个小时。非常感谢您为我指明了正确的方向。。。我的头都转过来了。非常感谢你给我指出了正确的方向。。。我的头都转过来了。
SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('QuoteID') AND
TABLE_NAME != 'ClientData'
AND TABLE_SCHEMA='$db';