从代码中提取表信息

时间:2018-04-21 02:57:06

标签: sql sql-server

我在SQL Server 2012中有一个包含3列的表:

RDDID, SPDESC, SQLTEXT

SQLTEXT包含内联查询。

是否可以从SQLTEXT中提取所有表名并将它们放入单独的列中?

INPUT:

RDDID|SPDESC|SQLTEXT
10XH1|DAGASC|SELECT COL1 FROM TABLE1 AS A JOIN TABLE2 B ON A.ID=B.ID JOIN TABLE3 AS C ON A.ID=C.ID

输出

RDDID|SPDESC|COLX1|COLX2|COLX3|
10XH1|DAGASC|TABLE1|TABLE2|TABLE3

请分享您的想法。

1 个答案:

答案 0 :(得分:0)

如果你可以尝试Regex或任何简单的技术来分割带有分隔符[space]的行, 您可以尝试以下方法:

let $ = cheerio.load(html);
let currentElement, data = {};

$(".entry-content").find("h3").each(function () {
    data[$(this).text()] = [];

    currentElement = $(this);

    while(currentElement.next().length && currentElement.next().prop("tagName").indexOf("H") === -1) {
        if (currentElement.next().find("img").length > 0) {
            data[$(this).text()].push(currentElement.next().find("img").first().attr("src"));
        }

        currentElement = currentElement.next();
    }
});