Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mehrmalige Verwendung von LEFT JOIN lässt unerwünscht Inhalte unter den Tisch fallen

Frage Microsoft Microsoft Office

Mitglied: stevensqwe

stevensqwe (Level 1) - Jetzt verbinden

14.05.2010 um 01:08 Uhr, 3129 Aufrufe, 2 Kommentare

Hi!
Wie kann ich mehrere Abfragen joinen, ohne meine Ergebnisse von JOIN zu JOIN weiter einzuschränken. Habe gerade keinen blassen Schimmer, wie das gehen soll - könnt Ihr mir unter die Arme greifen?
Danke und schönen Gruß,
stevens

Das ist der Code:

SELECT A.*, A.EndPoint+B.Duration/60/24 AS LoadingTime, A.EndPoint+B.Duration/60/24+C.Duration/60/24 AS UnLoadingTime
FROM (Sched_Union AS A LEFT JOIN Sched_Query1_LoadingTime AS B
ON A.LyoNr = B.LyoNR) LEFT JOIN Sched_TOTAL_2 AS C
ON A.LyoNr = C.LyoNr

Die Spalte LoadingTime setzt auf den EndPoint von A auf und addiert eine Zeitspanne dazu
Die nächste Spalte UnLoadingTime setzt nun ebenfalls auf Endpoint auf, addiert die erste Zeitspanne dazu und zusätzlich noch eine zweite.

Wenn nun in einer Zeile keine LoadingTime existiert, dann kann es aber trotzdem sein, dass eine UnloadingTime existiert.

Allerdings wird bei obigem Code bei fehlender LoadingTime ebenfalls eine existierende UnLoadingTime herausgefiltert und nicht dargestellt...

c645c697e3e080ae1f7b47e54f58fa6e - Klicke auf das Bild, um es zu vergrößern

Wie kann man dies lösen?
Mitglied: NetWolf
14.05.2010 um 16:26 Uhr
Hallo,

so ist das nun mal mit der Mathematik und Access: mit NULL kann man nicht rechnen.

Beispiel:
A.EndPoint+B.Duration/60/24 AS LoadingTime

würde "übersetzt" dann so aussehen:
LoadingTime = 10 + NULL = nichts

das Gleiche passiert natürlich dann auch mit der zweiten Formel, da für B.Duration auch hier wieder NULL "berechnet" wird.

Lösung: sicherstellen, dass B.Duration nicht NULL ist
IIF(ISNULL(B.Duration),0,B.Duration)

das Gleiche natürlich auch für C.Duration!!!

btw gibt es in Access die Funktion DATEADD
http://office.microsoft.com/de-de/access/HA012288101031.aspx?pid=CH1007 ...


Grüße aus Rostock
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: stevensqwe
14.05.2010 um 22:17 Uhr
Hi Wolfgang!
Herzlichen Dank für die Lösung.
Hatte zuerst gedacht LoadingTime = 10 + 0 = 10, aber LoadingTime = 10 + NULL = NULL hat eine bestechende Logik
Danke nochmal!
stevens
Bitte warten ..
Ähnliche Inhalte
Peripheriegeräte
gelöst Suche USB Tisch Barcode Scanner (5)

Frage von Trawell zum Thema Peripheriegeräte ...

Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (58)

Frage von sabines zum Thema Internet ...

Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx zum Thema Datenbanken ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (28)

Frage von raffzwo zum Thema LAN, WAN, Wireless ...

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...