我疯了......
我想生成一个需要通过循环的表数组,但我不希望包含表“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 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'
'Client%'的每个变体......
我已经度过了。非常感谢任何人的帮助。vearutop,
你为我打破了大坝,谢谢!我出于某种原因陷入了Column_name,应该一直在思考Table_name。尴尬...
我抄袭了你的Table_name!='ClientData'并用Table_name替换了Column_Name过滤器,这是完美的。这是决赛:
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'
使用只是 TABLE_NAME!='ClientData'不是一个足够紧密的过滤器,因为我还需要过滤掉其他一些表,但这是完美的。再次感谢。我正在进行第50个+小时的连续编码,以满足截止日期(需要退出志愿服务!)这让我离睡眠时间大约2小时。
答案 0 :(得分:1)
SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('QuoteID') AND
TABLE_NAME != 'ClientData'
AND TABLE_SCHEMA='$db';