次の処理を実行しようとしています。3つのテーブルを結合しているときに、Mgt.Dbo.Tab1(157行)のすべての行を表示します。この照会は、Mgtからの76行の結果のみを提供します。私は無駄に左の結合を使用してみました。助けて! TIAjoinステートメントでレコードが表示されない問題
コード:あなたの編集後
select
mgt.UID
, Mgt.emp_num
, emp.EMP_NAME
, RTRIM(mgt.COMPANY)
, 'Company 1'
, jnl.d_w
, mgt.d_r
, jnl.UNITS
, jnl.RATE
, mgt.hours
, mgt.RATE
, rtrim(jnl.MEMO)
, mgt.UNIQUE_ID
, jnl.grow
, jnl.grow_num
, hdr.ch_date
, mgt.sub_by
, hdr.ch_num
from Mgt.dbo.sick as mgt
inner join Comp1.DBO.emp as emp
on Mgt.emp_num = emp.emp_num
inner join Comp1.dbo.hdr as hdr
on Mgt.emp_num = hdr.emp_num
inner join Comp1.dbo.jnl as jnl
on jnl.c_n = hdr.c_n
where COMPANY in ('Test')
and jnl.wg = 'SP'
and mgt.d_r = jnl.d_w
and mgt.d_r >= '8/20/2017'
and mgt.d_r <= '9/1/2017'
and mgt.d_r=jnl.d_w
私はいくつかの別名を購入したいと思います。 – SqlZim
@SqlZim ;-)名前はDragnetのようなものではなく、無実の – BIGTONE559
を保護するために変更されています。テーブルのエイリアスと同じように、ソーステーブルの列にプレフィックスを付けます。 [テーブルのエイリアスを作成する方法 - Aaron Bertrand](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-table-aliases-like-abc-or -t1-t2-t3.aspx)。各列には、元のテーブルのテーブルエイリアスが前置されていなければなりません。つまり、クエリを左結合で修正する方法と、条件を 'where'から結合条件に移動する方法を教えてください。 – SqlZim