0

假设我有 1 个父数据和 3 个子数据,如链:

父母 -> 孩子 1 -> 孩子 2 -> 孩子 3

在设计器中使用表向导我可以获得任何数据,但在我们的案例中没有 Child 3 数据。为了解释这一点,假设我们有一个这样的数据库:

我拥有的汽车:汽车品牌 --> 汽车型号 --> 改装 我有 2 个如下数据:

Ford --> Focus --> Spoiler, Body Kit, New Brake System Mercedes --> C180 --> \没有修改数据,因为我没有\

报告生成器仅显示福特福克斯。它没有显示梅赛德斯,因为它没有任何修改。如何让报表生成器 3 显示所有这些?

或者你能推荐任何其他报告解决方案,至少列出我的数据,没有可视化或花哨的效果。我只需要导出到 excel 选项。

4

1 回答 1

0

问题出在我的选择语句中:

SELECT
  Kolonminhas.KolonminhaID
  ,Kolonminhas.KolonID AS [Kolonminhas KolonID]
  ,Kolonminhas.Aciklama
  ,Kolonminhas.En AS [Kolonminhas En]
  ,Kolonminhas.Boy AS [Kolonminhas Boy]
  ,Kats.KatID AS [Kats KatID]
  ,Kats.BlokID AS [Kats BlokID]
  ,Kats.Ad AS [Kats Ad]
  ,Kats.Kolonaltkot
  ,Kats.Kolonustkot
  ,Bloks.BlokID AS [Bloks BlokID]
  ,Bloks.ProjectID
  ,Bloks.Ad AS [Bloks Ad]
  ,Kolons.KolonID AS [Kolons KolonID]
  ,Kolons.KatID AS [Kolons KatID]
  ,Kolons.KolonAdi
  ,Kolons.En AS [Kolons En]
  ,Kolons.Boy AS [Kolons Boy]
  ,Kolons.Yukseklik
  ,Kolons.Altkot
  ,Kolons.UstKot
FROM
  Kolons
  INNER JOIN Kolonminhas
    ON Kolons.KolonID = Kolonminhas.KolonID
  INNER JOIN Kats
    ON Kolons.KatID = Kats.KatID
  INNER JOIN Bloks
    ON Kats.BlokID = Bloks.BlokID

要解决此问题,应使用 OUTER JOIN 命令。但是我无法创建一个。如果有人帮助我,我将不胜感激。

这是正确的查询:

SELECT
  Kolonminhas.KolonminhaID
  ,Kolonminhas.KolonID AS [Kolonminhas KolonID]
  ,Kolonminhas.Aciklama
  ,Kolonminhas.En AS [Kolonminhas En]
  ,Kolonminhas.Boy AS [Kolonminhas Boy]
  ,Kats.KatID AS [Kats KatID]
  ,Kats.BlokID AS [Kats BlokID]
  ,Kats.Ad AS [Kats Ad]
  ,Kats.Kolonaltkot
  ,Kats.Kolonustkot
  ,Bloks.BlokID AS [Bloks BlokID]
  ,Bloks.ProjectID
  ,Bloks.Ad AS [Bloks Ad]
  ,Kolons.KolonID AS [Kolons KolonID]
  ,Kolons.KatID AS [Kolons KatID]
  ,Kolons.KolonAdi
  ,Kolons.En AS [Kolons En]
  ,Kolons.Boy AS [Kolons Boy]
  ,Kolons.Yukseklik
  ,Kolons.Altkot
  ,Kolons.UstKot
  from Bloks
  left join (Kats left join (Kolons left join Kolonminhas on Kolons.KolonID = Kolonminhas.KolonID) ON Kats.KatID = Kolons.KatID) ON Bloks.BlokID = Kats.BlokID
于 2012-10-09T20:01:26.373 回答