0

これは、2 つの左結合を使用した私のクエリです (bcompany に結合しようとしました - メイン テーブル WITH bpoint、バグ):

SELECT cName, sName, uNaslov FROM bcompany c LEFT JOIN bpoint p ON c.companyID = p.companyID LEFT JOIN bug b ON c.companyID = b.companyID WHERE c.companyID='$cID'

最初のテーブルbcompanyがメインのテーブルで、結果の行は常に 1 つだけです。

テーブルbpointとの両方が列を介してbug関連付けられます。これら 2 つのテーブルには、必ずしもレコードが含まれているとは限りません。bcompanycompanyID

私の問題は、これら 2 つの結合されたテーブルの結果が 2 倍になることです。メイン テーブルの複数の結果は理解できますが、結合された 2 つのテーブルについては理解できません。

テーブル構造:

会社名:

companyID |       cName         |
---------------------------------
    1     | Mladi Tehnik d.o.o. |

点:

pointID |      sName          | companyID |
-------------------------------------------
   1    |    Mladi Tehnik     |     1     |
   2    |    Pizzerija 5ka    |     1     |
   3    |    Gostilna Kekec   |     1     |
   4    |    Blejski tehnik   |     1     |

バグ:

bugID | uNaslov       | companyID |
-----------------------------------
  1   |  Testna 1     |     1     |
  2   |  Testna 2     |     1     |
  3   |  Mickino kolo |     1     |

結果の例:

bcompany:
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.
Mladi Tehnik d.o.o.

bpoint:
Mladi Tehnik
Mladi Tehnik
Mladi Tehnik
Pizzerija 5ka
Pizzerija 5ka
Pizzerija 5ka
Gostilna Kekec
Gostilna Kekec
Gostilna Kekec
Blejski Tehnik
Blejski Tehnik
Blejski Tehnik


bug:
Testna 1
Testna 2
Mickino kolo
Testna 1
Testna 2
Mickino kolo
Testna 1
Testna 2
Mickino kolo
Testna 1
Testna 2
Mickino kolo

私が望む結果(すべての既存の結果は一度だけ):

bcompany:
Mladi Tehnik d.o.o.

bpoint:
Mladi Tehnik
Pizzerija 5ka
Gostilna Kekec
Blejski Tehnik

bug:
Testna 1
Testna 2
Mickino kolo
4

1 に答える 1

0

結果はOKです。列にエントリが 1 つしかない場合、「Mladi Tehnik」含む「Mladi Tehnik doo」が 1つあり、エントリがないのとまったく同じエントリbpointがあるため、結果に一貫性がなくなります。bpoint

于 2012-11-27T10:16:21.427 に答える