簡體   English   中英

如何從所有表中選擇列的所有可能值?

[英]How to select all possible values of columns from all tables?

SELECT POM.TABLE_NAME, POM.COLUMN_NAME
FROM ALL_TAB_COLUMNS POM
WHERE  POM.COLUMN_NAME LIKE'%STATUS%'

我想查看列表中各列中的所有可能值(如果可能,請一行顯示)。 我該如何修改此選擇呢?

我想要這樣的東西

 TABLE_NAME | COLUMN_NAME |VALUES
 -----------| ----------- | -------
 CAR        | COLOR       | RED,GREEN 

您可以根據需要使用以下查詢。 它為表獲取了不同的列值。 正如我使用LISTAGG函數一樣,它只能用於具有有限數量的不同值的表。

SELECT POM.TABLE_NAME, POM.COLUMN_NAME,
       XMLTYPE(DBMS_XMLGEN.GETXML('SELECT LISTAGG(COLUMN_NAME,'','') WITHIN GROUP (ORDER BY COLUMN_NAME) VAL 
                                   FROM (SELECT DISTINCT '|| POM.COLUMN_NAME ||' COLUMN_NAME
                                         FROM '||POM.OWNER||'.'||POM.TABLE_NAME||')')
              ).EXTRACT('/ROWSET/ROW/VAL/text()').GETSTRINGVAL() VAL
FROM   ALL_TAB_COLUMNS POM
WHERE  POM.COLUMN_NAME LIKE'%STATUS%';

暫無
暫無

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

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