Frage : Volle äußere verbinden für CR

Hallo Experten,

I morgens versuchend, Daten von 2 Tabellen zu erhalten, die NO1 zu 1 Verhältnis außer der Spalte - job_no haben. Die folgende Aussage holt sehr begrenzte Daten oder überhaupt keine in einigen Spalten zurück:

SELECT job_history.job_no, job_history.cost, job_history.cost_code_no, job_history.cost_class_no, job_budgets.job_no, job_budgets.orig_est_dollars, job_budgets.cost_code_no, job_budgets.cost_class_no

FROM das job_budgets

FULL ÄUSSER SCHLIESSEN sich job_history
ON job_budgets .job_no = job_history.job_no

The Spalte „job_no“ verbinden enthält viele unterschiedlichen Reihen für jede einzigartige job_no Zahl an - sie enthalten die periodischen Jobkostendaten, die im Laufe der Zeit eingegeben werden und ich kann nicht helfen aber denken, dass dieses etwas von meinem Problem verursacht - aber ich ein wirklicher Anfänger SQL.

The in der Spalte job_budgets.orig_est_dollars enthalte geplante Kosten für eine Spalte job_history.cost des Aufbaus project.
The enthalte die Effektivkosten für ein Projekt bin. Diese Kosten (in beiden Tabellen) werden durch Kategorien (1 - 26) in der Spalte aufgegliedert: cost_code_no (in beiden Tabellen) und eingestuft als Material, Arbeit oder Unterseeboot durch den numerischen Inhalt des Spalte cost_class_no (1.2.3). Ich muss diese Kategorien in meinem Report ausbrechen, um Effektivkosten mit geplanten Kosten zu vergleichen. Ich benötige einfach eine Frage, die alle Daten von diesen zwei Tabellen in diesen Spalten zieht, also kann ich Berichte über sie laufen lassen.

Antwort : Volle äußere verbinden für CR

Sie konnten, aber ehrlich es vorziehe ich ch, so viel Datenvorbereitung wie mögliche Rückseite auf dem Bediener zu tun. Dass Weise, die ich manchmal manipulieren kann, ohne zu müssen, Reports neu zu schreiben und Versuch, um Steuerung über dem Datenbestand zu nehmen ungefähr austauschend und, versuchend, alles zu nutzen der Bediener, konnten in der Lage sein, in Leistung ausgedrückt anzubieten.

In diesem Fall verursachen ich vermutlich eine Ansicht und dann vorwählen einfach von der Ansicht n.

Eine Ansicht ist wie eine virtuelle Tabelle. Sie ist wirklich eher wie eine gespeicherte Frage, mit dem Vorteil, dass Sie auf eine Ansicht gerade wie jede mögliche andere Tabelle beziehen können. Sie hält nicht Daten itelf, aber weiß, wo man es von erhält, und der Bediener tut, auch also versuchen, den ganzen Leistungsnotfall von den zugrunde liegenden Geschichten zu verwenden, wenn er Fragenpläne betrachtet.

Die Ansicht zu verursachen ist, sobald dort, verwenden es gerade wie eine Tabelle ein einmal aus Prozess. Alle mögliche Updates zu den Daten erfolgt auf den tatsächlichen Tabellen und reflektiert blitzschnell in der Ansicht. Sie sind recht kühle Sachen und ideal entsprochen zu diesen Arten von Fällen, in denen die Frage eine Spitze ist, die/schwerfällig ist betroffen ist, um direkt zu verwenden ein Spitzen.

Erstes Mal innen, „verursachen“ Sie die Ansicht, folgende Änderungen getan using „ändern“

-- GUTHEISSEN, die Ansicht verursachen lässt…. Benennungversammlungen können wichtig sein und es ist nicht selten, die wenigen wenigen Buchstaben zu finden, die Art des Datenbankgegenstandes zu reflektieren.
-- In diesem Fall using Präfix VW, zum von ANSICHT zu bezeichnen

DIE ANSICHT VERURSACHEN, die WIE vw_Jobs_Budget_vs_Actual ist
Job_no VORWÄHLEN
          , cost_code_no
          , Summe (Labor_Budget) als labor_budget
          , Summe (Material_Budget) Material_Budget
          , Summe (Subcontract_Budget) Subcontract_Budget
          , Summe (Mileage_Budget) Mileage_Budget
          , Summe (Burden_Budget) Burden_Budget
          , Summe (Labor_cost) Labor_cost
          , Summe (Material_cost) Material_cost
          , Summe (Subcontract_cost) Subcontract_cost
          , Summe (Mileage_cost) Mileage_cost
          , Summe (Burden_cost) Burden_cost
          , Summe (total_budget) als total_budget
          , Summe (total_cost) als total_cost
          , Summe (total_budget) - Summe (total_cost) als Abweichung

VON (
            job_no vorwählen
                      , cost_code_no
                      , Fall wenn cost_class_no = dann orig_est_dollars 1 sonst 0 Ende als Labor_Budget
                      , Fall wenn cost_class_no = 2 dann orig_est_dollars sonst 0 Ende als Material_Budget
                      , Fall wenn cost_class_no = 3 dann orig_est_dollars sonst 0 Ende als Subcontract_Budget
                      , Fall wenn cost_class_no = 4 dann orig_est_dollars sonst 0 Ende als Mileage_Budget
                      , Fall wenn cost_class_no = 6 dann orig_est_dollars sonst 0 Ende als Burden_Budget
                      , orig_est_dollars als total_budget
                      , 0.00 als Labor_cost
                      , 0.00 als Material_cost
                      , 0.00 als Subcontract_cost
                      , 0.00 als Mileage_cost
                      , 0.00 als Burden_cost
                      , 0.00 als total_cost
            Von Job_Budgets

            ANSCHLUSS ALLER

            job_no vorwählen
                    , cost_code_no
                    , 0.00 als Labor_budget
                    , 0.00 als Material_budget
                    , 0.00 als Subcontract_budget
                    , 0.00 als Mileage_budget
                    , 0.00 als Burden_budget
                    , 0.00 als total_budget
                    , Fall wenn cost_class_no = 1 sonst 0 Ende als Labor_Cost dann gekostet
                    , Fall wenn cost_class_no = 2 sonst 0 Ende als Material_Cost dann gekostet
                    , Fall wenn cost_class_no = 3 sonst 0 Ende als Subcontract_Cost dann gekostet
                    , Fall wenn cost_class_no = 4 sonst 0 Ende als Mileage_Cost dann gekostet
                    , Fall wenn cost_class_no = 6 sonst 0 Ende als Burden_Cost dann gekostet
                    , Kosten als total_cost
                     
            Von Job_History
          ) src
GRUPPE DURCH Job_No, cost_code_no
-- AUFTRAG DURCH Job_No, cost_code_no
-- AUFTRAG nicht VORBEI in einer Ansicht einschließen, es sei denn Sie auch die SPITZENnähere bestimmung verwenden
-- einfach erinnern, Ihren eigenen Auftrag durch zu tun beim Vorwählen von der Ansicht.
GEHEN

-- Nun da getan worden…
-- Wir können sie, zu verwenden beginnen. Auf sie gerade wie irgendeine andere Tabelle beziehen (ziemlich genau… können wir vorwählen, verbinden, verwenden, wo, Gebrauchauftrag vorbei, gesamtes usw. usw.)

* von vw_Jobs_Budget_vs_Actual vorwählen

-- und das ist, was Sie verwenden jetzt in Ihren Kristallreports als Ihre Datenquelle…


Weitere Lösungen  
 
programming4us programming4us