Sql 用一个主键合并三个表,每个表的结果应逐个显示

Sql 用一个主键合并三个表,每个表的结果应逐个显示,sql,oracle10g,Sql,Oracle10g,我有三个表,它们有一个公共字段。我想选择每个表的所有行,按公共字段排序,结果应该是第一行来自第一个表,第二行来自第二个表,第三行来自第三个表 对于上述任务,什么查询有效?已给出三个表的样本数据和要求的输出,如下所示。如果我的问题很笨拙,请原谅 TABLE1 WO STATUS SITE 1001 Released 36 1002 Closed 31 1003 Released 42 TABLE2 WO

我有三个表,它们有一个公共字段。我想选择每个表的所有行,按公共字段排序,结果应该是第一行来自第一个表,第二行来自第二个表,第三行来自第三个表

对于上述任务,什么查询有效?已给出三个表的样本数据和要求的输出,如下所示。如果我的问题很笨拙,请原谅

TABLE1      
WO      STATUS      SITE
1001    Released    36
1002    Closed      31
1003    Released    42

TABLE2          
WO  LINE NO   PRICE     QTY
1001    1     100        2
1001    2     300        3
1002    1     1500       3
1003    1     100        4
1003    2     200        2
1003    3     100        1

TABLE3      
WO      USER    SIGN ID
1001    Chrish  CRS
1001    Jovan   JVN
1002    Roopesh ROO
1003    Brian   BRN
1003    Suren   SRN
1003    Pavith  PAV
输出应该是这样的

RESULT              
TABLE1  1001    Released    36  
TABLE2  1001    1   100     2
TABLE2  1001    2   300     3
TABLE3  1001    Chrish      CRS 
TABLE3  1001    Jovan       JVN 
TABLE1  1002    Closed      31  
TABLE2  1002    1   1500    3
TABLE3  1002    Roopesh     ROO 
TABLE1  1003    Released    42  
TABLE2  1003    1   100     4
TABLE2  1003    2   200     2
TABLE2  1003    3   100     1
TABLE3  1003    Brian       BRN 
TABLE3  1003    Suren       SRN 
TABLE3  1003    Pavith      PAV 

SELECT 'T1' as source, "WO", "STATUS" as f2, CAST("SITE" AS text)  as f3, null as f4
FROM Table1
UNION
SELECT 'T2' as source, "WO", CAST("LINE NO" AS text) as f2, CAST("PRICE" AS text) as f3, "QTY" as f4
FROM Table2
UNION
SELECT 'T3' as source, "WO", "USER" as f2,  "SIGN ID" as f3, null as f4
FROM Table3 
ORDER BY "WO", source
输出


mysql还是oracle?选择一个。向我们展示您的数据库模式、示例数据和预期输出。请阅读,这里是一个学习如何提高你的问题质量和获得更好答案的好地方。嗨,谢谢..已经编辑!!好得多,但是你的结果格式很奇怪,看起来你的数据比列多。这可能吗兄弟?你意识到试图加入的数据不是同一类型的吗?谢谢老兄!!但是表2和表3还有其他列要显示!!我也需要这些列。编辑以显示添加一些唯一字段。uniquefield1可以是与所有3个表不同的字段名,但每个表中的值将显示在同一列中,名为fld1/fld2,如您所在联盟的第一个qry中所定义。Buddy!!我已经编辑了我的问题,并添加了一些样本数据供您参考!
SELECT 'T1' as source, "WO", "STATUS" as f2, CAST("SITE" AS text)  as f3, null as f4
FROM Table1
UNION
SELECT 'T2' as source, "WO", CAST("LINE NO" AS text) as f2, CAST("PRICE" AS text) as f3, "QTY" as f4
FROM Table2
UNION
SELECT 'T3' as source, "WO", "USER" as f2,  "SIGN ID" as f3, null as f4
FROM Table3 
ORDER BY "WO", source