AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Join mit Limit 1?

Ein Thema von Mavarik · begonnen am 30. Mär 2014 · letzter Beitrag vom 1. Apr 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#1

Join mit Limit 1?

  Alt 30. Mär 2014, 12:25
Datenbank: MySQL • Version: 5 • Zugriff über: Delphi
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 12:36
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)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 12:57
Funktioniert nicht!

Zeigt immer noch alle an wie bei einem Join!
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 13:06
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;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 13:09
Die IDs sind aber in beiden Tabellen auto_inc?

[edit] Wenn mir jetzt mal jemand den Unterschied zwischen
Order BY B.ID DESC LIMIT 1 und
MAX(B.ID) erklären könnte [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (30. Mär 2014 um 13:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 13:32
Die IDs sind aber in beiden Tabellen auto_inc?
JA

Leider wird so kein Eintrag aus Table1 gezeigt, wenn kein Eintrag in Table2 existiert!

Noch ne Idee dazu?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 13:35
SQL-Code:
...
Where b.id = (...) or b.id is null
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 13:42
SQL-Code:
...
Where b.id = (...) or b.id is null
Leider auch nicht...

Wenn überhaupt (...) is null

Aber es wird dann für jeden Eintrag der 1. in der Tabelle angezeigt...
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik
Online

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 13:46
Ich glaube ich mache lieber ne For-Schleife und baue die Tabelle selber zusammen...
Obwohl ich das vermeiden wollte...

Geändert von Mavarik (30. Mär 2014 um 14:02 Uhr)
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#10

AW: Join mit Limit 1?

  Alt 30. Mär 2014, 14:54
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'
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz