![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: Interbase / Delphi
SQL - Ich erhalte alle Datensätze doppelt
Hi,
Folgende SQL-Query liefert mir alle Datensätze 2 mal.
SQL-Code:
Seltsamerweise existiert aber jeder Datensatz nur einmal in der Datenbank. Das heißt ich scheine ungewollt jeden Datensatz zweimal zu selectieren.
/* Die = 1 Bedingung würde innerhalb von Delphi durch = i ausgetauscht werden (for-schleife) */
SELECT xls_fld.ID,xls_fld.name,xls_fld.color FROM xls_tpl LEFT JOIN xls_fld ON xls_fld.tplid = 1 Das Problem behoben habe ich so:
SQL-Code:
Allerdings würde mich jetzt interessieren was an obiger Query falsch ist.
SELECT distinct xls_fld.ID,xls_fld.name,xls_fld.color FROM xls_tpl LEFT JOIN xls_fld ON xls_fld.tplid = 1
Gruß Neutral General |
Re: SQL - Ich erhalte alle Datensätze doppelt
Das "Beziehungsfeld" (Fremdschlüssel) fehlt hier, Deine JOIN-Bedingung gehört in die WHERE-Klausel.
SQL-Code:
SELECT Felder FROM Tabelle1
LEFT JOIN Tabelle2 ON Tabelle2.FK = Tabelle1.PK WHERE Bedingung |
Re: SQL - Ich erhalte alle Datensätze doppelt
Hi,
Danke, so funktionierts:
SQL-Code:
:)
SELECT xls_fld.ID,xls_fld.name,xls_fld.color FROM xls_tpl
LEFT JOIN xls_fld ON xls_fld.tplid = xls_tpl.id WHERE xls_tpl.id = 1 Trotzdem versteh ich nicht warum er mir bei meiner ursprünglichen Abfrage alles doppelt selectiert. Womit veranlasse ich das? |
Re: SQL - Ich erhalte alle Datensätze doppelt
Es wurde jedem Datensatz der 1. Tabelle der gleiche Datensatz der 2 Tabelle hinzugejoint
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 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