ここで私がやろうとしているのは、A3 から取得する必要がある P1、P2、P3 の値を取得することです。これは 2 つのテーブルではうまく機能しますが、3 つのテーブルでは機能しません...
SELECT x.A1,x.A3,x.A4,A5,A6, x.A2 as P1,y.A2 as P2,z.A2 as P3
FROM Contact x,Contact y,Contact z
WHERE (x.id = y.id) AND (y.id = z.id) AND
(x.A3 ='pre-sale') AND (y.A3= pos-sale') AND(z.A3='current-sale')
ORDER by x.A4 DESC
たとえば、CONTACT テーブルは次のようになり、P1、P2、P3 の予想される結果が表示されます。
A1 A2 A3 A4 A5 A6 P1 P2 P3
----------------------------------------------------
1 22 pre-sale 9 kk 8 22 31 2
2 31 pos-sale 4 yy 6 44 61 11
3 2 current-sale 1 hh 2 null null null
4 44 pre-sale 2 kk 8
5 61 pos-sale 1 yy 6
6 11 current-sale 1 hh 2
P1、P2 の場合、同じテーブルを 2 回使用するとうまくいきます。3 番目のテーブルを追加すると、P1、P2 の値は同じになり、P3 の値はすべて null になります。