回答

收藏

SQL连接格式-嵌套内部连接

技术问答 技术问答 104 人阅读 | 0 人回复 | 2023-09-13

我在重构的旧系统中有以下SQL语句。这是此问题的缩写视图,只是暂时返回count(*)。
* d3 t8 w9 M6 r0 cSELECT COUNT(*)
; y* }# P* j* r2 d( FFROM Table1 " z" y) Z% A6 \. c& }5 t
    INNER JOIN Table2 " Y/ v1 M: u& [7 M3 p  \) x/ w% m
        INNER JOIN Table3 ON Table2.Key = Table3.Key AND Table2.Key2 = Table3.Key2
; ?' d+ t6 S! s7 f5 D' Q    ON Table1.DifferentKey = Table3.DifferentKey
5 R. h( V/ |, P& A9 l5 U* w5 O它会生成大量记录并杀死系统,但是有人可以解释其语法吗?可以用其他任何方式表达吗?
' r6 M5 n* e2 w  y9 z0 N, ^表1包含419行
$ V7 m  \- U% B8 I1 J! v表2包含3374行8 I" c4 t9 G, F( G
Table3包含28182行& M* c! e+ P4 b2 A6 H
1 o' k7 B* k! M/ P$ u
编辑:
% h% ?7 m! J9 H: E) ]建议重新格式化+ f* V( g0 w6 a1 W
SELECT COUNT(*)( i1 y4 r' A0 Y
FROM Table1
. K% y7 W+ k5 x  S9 V9 D    INNER JOIN Table3
* U3 x: X2 M2 r1 ^' r5 d          ON Table1.DifferentKey = Table3.DifferentKey9 \6 a! p& v& Z! f
    INNER JOIN Table2
4 h; d8 I% X0 r1 M4 y          ON Table2.Key = Table3.Key AND Table2.Key2 = Table3.Key2# z" w$ X1 }+ @! }8 m
               
8 [7 @( ]7 y2 W8 b解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则