私はおかしくなりそうだ...
ループを通過する必要があるテーブルの配列を生成したいのですが、テーブル "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%'
この 2 番目のケースでは、LIKE 関数を使用して必要なテーブルのみを取得しようとしましたが、それでも ClientData が取得されます。私も追加しました:
`COLUMN_NAME` NOT LIKE 'ClientData'
そして、「Client%」のすべてのバリエーション...
私は過ごしました。誰でも助けていただければ幸いです。
ヴェアルトップ、
あなたは私のためにダムを破った、ありがとう! 私は何らかの理由で Column_name に巻き込まれ、ずっと Table_name を考えていたはずです。恥ずかしい...
私はあなたの Table_name != 'ClientData' をクリブし、Column_Name フィルターを Table_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 時間以上のコーディングを続けています (ボランティア活動をやめる必要があります!)。