2017-08-18 40 views
-1

我有一个1000行的复杂查询,我想要修改。它非常难以理解查询。因此,是否有任何工具或SQL命令来分割SQL查询在查询中涉及的表上。将复杂查询拆分为单个查询以提高可读性

例如:涉及两个表的查询被分成单个的表2次的查询:

SELECT 
    t1.c1, 
    t2.c1,t2,c2 
FROM table1 t1 
JOIN table2 t2; 

进入

1) SELECT 
     t1.c1 
    FROM table1 t1; 

    2) SELECT 
     t2.c1, 
     t2.c2 
    FROM table2 t2; 

同样我已经75代表在单个查询中连接在一起,这需要分成75条单行选择语句。

+0

像这样的简单连接并不是一个复杂的查询,很少能在两个中断一个查询,并且它意味着同样的事情。首先,在你的例子中,如果table1和table2分别有5行和10行,第一个查询将产生50个结果;后两者将分别得到5和10个结果。 – Uueerdo

+0

我喜欢复杂的查询。人们害怕,不会碰他们。 –

+0

为什么你想拆分查询?只是为了可读性? –

回答

1

SQL SERVER:尝试使用CTE表达式WITH子句或为每个表或您认为合适的表创建VIEW。这是如此,请记住,您应该获得与原始查询相同的输出。

+0

但他使用的是MySQL吗? @amit – Noob

+0

是的,我后来看到了这个标签。 – Amit