【问题标题】:Left join - joined tables double results左连接 - 连接表双重结果
【发布时间】:2012-11-27 10:13:33
【问题描述】:

这是我的两个左连接查询(试图加入 bcompany - 带 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 是主表,并且总是有一个结果行。

bpointbug 两个表都通过 companyID 列与 bcompany 相关。 这两个表不一定有任何记录。

我的问题是这两个连接表的结果加倍。我可以理解主表的多个结果,但不能理解连接的两个结果。

表结构:

b公司:

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

bpoint:

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

【问题讨论】:

  • 添加创建表脚本以了解db结构

标签: php mysql


【解决方案1】:

结果还可以。如果bpoint 列中只有一个条目,则结果将不一致,因为有一个 "Mladi Tehnik doo""Mladi Tehnik" 和完全相同的一个没有bpoint 条目。

【讨论】:

  • 如何去除 bpoint 和 bug 表中的重复项?
  • 您不必这样做。结果绝对没问题。您必须在代码中处理细线。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-08
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
  • 2012-03-13
  • 2019-09-13
  • 2012-12-06
相关资源
最近更新 更多