比如我写一个查询
SELECT *
FROM tbAbc a
INNER JOIN tbDef b
ON a.flDefId = b.flId
INNER JOIN tbGhi c
ON b.flGhiId = c.flId
INNER JOIN tbJkl d
ON c.flJklId = d.flId
INNER JOIN tbMno e
ON d.flMnoId = e.flId
这样一个查询可以查出把五个表字段全部连接在一行里
但是我希望把查出来的五个表的数据分拆成记录集中的多个表
我已经知道可以这样做......
SELECT a.*
FROM tbAbc a
INNER JOIN tbDef b
ON a.flDefId = b.flId
INNER JOIN tbGhi c
ON b.flGhiId = c.flId
INNER JOIN tbJkl d
ON c.flJklId = d.flId
INNER JOIN tbMno e
ON d.flMnoId = e.flId
SELECT b.*
FROM tbAbc a
INNER JOIN tbDef b
ON a.flDefId = b.flId
INNER JOIN tbGhi c
ON b.flGhiId = c.flId
INNER JOIN tbJkl d
ON c.flJklId = d.flId
INNER JOIN tbMno e
ON d.flMnoId = e.flId
SELECT c.*
......(以下省略 600+ 字)
这样可以保证连接查询出来的数据可以分拆成多个表
但这样写太繁,而且是查好几遍,有没有一次查出,用什么关键字就能把它拆成多个表的?
SELECT *
FROM tbAbc a
INNER JOIN tbDef b
ON a.flDefId = b.flId
INNER JOIN tbGhi c
ON b.flGhiId = c.flId
INNER JOIN tbJkl d
ON c.flJklId = d.flId
INNER JOIN tbMno e
ON d.flMnoId = e.flId
这样一个查询可以查出把五个表字段全部连接在一行里
但是我希望把查出来的五个表的数据分拆成记录集中的多个表
我已经知道可以这样做......
SELECT a.*
FROM tbAbc a
INNER JOIN tbDef b
ON a.flDefId = b.flId
INNER JOIN tbGhi c
ON b.flGhiId = c.flId
INNER JOIN tbJkl d
ON c.flJklId = d.flId
INNER JOIN tbMno e
ON d.flMnoId = e.flId
SELECT b.*
FROM tbAbc a
INNER JOIN tbDef b
ON a.flDefId = b.flId
INNER JOIN tbGhi c
ON b.flGhiId = c.flId
INNER JOIN tbJkl d
ON c.flJklId = d.flId
INNER JOIN tbMno e
ON d.flMnoId = e.flId
SELECT c.*
......(以下省略 600+ 字)
这样可以保证连接查询出来的数据可以分拆成多个表
但这样写太繁,而且是查好几遍,有没有一次查出,用什么关键字就能把它拆成多个表的?
FROM tbAbc a
INNER JOIN tbDef b ON a.flDefId = b.flId
INNER JOIN tbGhi c ON b.flGhiId = c.flId
INNER JOIN tbJkl d ON c.flJklId = d.flId
INNER JOIN tbMno e ON d.flMnoId = e.flId SELECT [A1],[A2]..... from tab
SELECT [B1],[B2]..... from tab
SELECT [C1],[C2]..... from tab
SELECT [D1],[D2]..... from tab
SELECT [F1],[F2]..... from tabDROP TABLE #Tab
消息 2705,级别 16,状态 3,第 1 行
各表中的列名必须唯一。在表 '#Tab' 中多次指定了列名 'flId'。
一个表中的字段数可能会有几十到上百个,而且很难避免和其他表的字段重复
因为我需要把所有字段取出来,为程序的实体类初始化,所以肯定不能用 AS 改字段名