簡體   English   中英

如何從選擇不同的表中排除表

[英]How to Exclude a Table from 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 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'

以及“客戶%”的每個變體...

我花了。 希望任何人都有幫助。


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個小時才能入睡。

SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('QuoteID') AND
TABLE_NAME != 'ClientData'
AND TABLE_SCHEMA='$db';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM