![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: Delphi
Join mit Limit 1?
Hallo Zusammen!
2h Googlen und alle Beispiele passen nicht... Ich habe 2 Tabellen Table 1: ID bla1 bla2 TimeStamp Table 2: ID TBL_1_ID Infotext Von den Einträgen in Table2 zeigen n Einträge über das TBL_1_ID auf Table1; Gesucht ist die richtige MySQL Anweisung die Alle Einträge von Table 1 auflistet wo Bla2="huhu" ist und nur den letzten Eintrag aus der Table2 mit den richtigen TBL_1_ID. Bitte korrigieren: SELECT Bla1,InfoText from Table1 Join Table2 on Table1.ID=Table2.TBL_1_ID Order by Table2.ID DESC LIMIT 1 where Bla2="huhu" Order by Table1.ID ASC Danke |
AW: Join mit Limit 1?
Etwa so?
SQL-Code:
SELECT
T1.*, T2.* FROM Table1 T1, Table2 T2 WHERE T1.Bla2 = 'huhu' AND T2.ID = (SELECT MAX(ID) FROM Table2 WHERE TBL_1_ID = T1.ID) |
AW: Join mit Limit 1?
Funktioniert nicht!
Zeigt immer noch alle an wie bei einem Join! |
AW: Join mit Limit 1?
Habs:
SELECT A.*, B.* FROM TBL1 A, TBL2 B where (bla1="huhu") AND B.ID = (SELECT C.ID FROM TBL2 C WHERE A.ID=C.TBL_1_ID Order BY B.ID DESC LIMIT 1) order by ID; |
AW: Join mit Limit 1?
Die IDs sind aber in beiden Tabellen auto_inc?
[edit] Wenn mir jetzt mal jemand den Unterschied zwischen
SQL-Code:
und
Order BY B.ID DESC LIMIT 1
SQL-Code:
erklären könnte :gruebel:[/edit]
MAX(B.ID)
|
AW: Join mit Limit 1?
Zitat:
Leider wird so kein Eintrag aus Table1 gezeigt, wenn kein Eintrag in Table2 existiert! Noch ne Idee dazu? |
AW: Join mit Limit 1?
SQL-Code:
...
Where b.id = (...) or b.id is null |
AW: Join mit Limit 1?
Zitat:
Wenn überhaupt (...) is null Aber es wird dann für jeden Eintrag der 1. in der Tabelle angezeigt... |
AW: Join mit Limit 1?
Ich glaube ich mache lieber ne For-Schleife und baue die Tabelle selber zusammen...
Obwohl ich das vermeiden wollte... |
AW: Join mit Limit 1?
eventuell so:
Code:
SELECT T1.*, T3.* FROM Tabelle1 T1
LEFT OUTER JOIN (SELECT MAX(tb2_ID) AS tb2_ID, tb1_ID FROM tabelle2 GROUP BY tb1_D) T2 ON T1.tb1_ID = T2.tb2_ID INNER JOIN (SELECT tb2_ID, tb1_id, InfoText FROM tabelle2) T3 ON T2.tb2_ID = T3.tb2_ID WHERE T1.Bla2 = 'huhu' |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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 by Thomas Breitkreuz