![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: TQuery
Problem mit SQL
Hallo,
ich habe folgende Tabellen Tabelle_1: ID Zeit 1 18:05 2 20:00 3 11:45 8 05:00 Tabelle_2: ID Zeit 1 18:05 3 14:46 4 09:12 5 02:58 Das ergebnis soll wie folgt aussehen ID Zeit ID_1 Zeit_1 2 20:00 3 11:45 3 11:46 4 09:12 5 02:58 8 05:00 Kriterien: 1) ID ist gleich und Zeit ist ungleich 2) ID ist in der jeweiligen anderen Tabelle nicht vorhanden Kann mir bitte jemand mit dem SQL-Statement auf die Sprünge helfen??? Danke |
Re: Problem mit SQL
Hi,
ist zwar MSSQL, könnte aber evtl. helfen
SQL-Code:
Zuerst werden alle Zeilen aus Table1 geholt, die entweder andere Zeit haben oder keine Entsprechnung in Table2.
select t1.id, t1.zeit, t2.id, t2.zeit
from @table1 t1 left join @table2 t2 on t1.id = t2.id where (t1.zeit<>t2.zeit) or (t2.id is null) union select t2.id, t2.zeit, t1.id, t1.zeit from @table2 t2 left join @table1 t1 on t1.id = t2.id where (t1.id is null) Dann kommen aus Table2 alle dazu, die nicht in Table1 enthalten sind - die mit ungleicher Zeit wurden ja bereits geholt. |
Re: Problem mit SQL
Hi.
Eine Alternative, die bei Verwendung von LocalSQL ein zusätzliches berechnetes Feld benötigt, wäre das hier:
SQL-Code:
Grüße vom marabu
select * from t1
full join t2 on t1.id = t2.id where t1.zeit <> t2.zeit or t1.zeit is null or t2.zeit is null |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz