PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Bestimmtes Ergebnis aus der 2. Tabelle einer INNER JOIN abfrage (http://www.selfphp.de/forum/showthread.php?t=25130)

yaem 16.12.2013 12:06:06

Bestimmtes Ergebnis aus der 2. Tabelle einer INNER JOIN abfrage
 
Ich steh irgendwie komplett aufd em Schlauch und finde einfach keinen Lösungsansatz:

Ich habe eine Tabelle mit Kunden und eine Tabelle mit Kommentaren zum Kunden.

Jetzt möchte ich in einer Abfrage Kunde und den neusten Kommentar, sowie dessen Datum abfragen.

Da ich aber Kommentar und Datum abfragen will, möchte ich es ungerne mit einer verschachtelten Select abfrage lösen.

Also

SELECT
input_AusstellerVorname,
input_AusstellerName,
FROM Kundentabelle
INNER JOIN Kommentartabelle
ON Kundentabelle.ID = Kommentartabelle.KundenID
WHERE Kundentabelle.ID = 10660
LIMIT 0,20

Wie steuer ich jetz also das Ergebnis aus der Kommtartabelle, wenn es dort (logischerweise) mehrere Ergebnisse gibt?

vt1816 16.12.2013 15:23:26

AW: Bestimmtes Ergebnis aus der 2. Tabelle einer INNER JOIN abfrage
 
Hallo und willkommen hier im Forum.


Wenn Du Informationen (Kommentar, sowie dessen Datum) aus der verbundenen Datenbanktabelle abfragen willst, warum sind die entsprechenden Felder nicht mit in Deiner Abfrage?

Und noch besser find ich das kaum einer dran denkt vielleicht mal nen
SHOW CREATE TABLE tabellenname mit Testdaten zu liefern. Wir die helfen, bauen uns die
sicher lieber selber, oder nein wir machen das ja im Kopf weil wir die Doku ja kennen.

yaem 17.12.2013 08:56:06

AW: Bestimmtes Ergebnis aus der 2. Tabelle einer INNER JOIN abfrage
 
Ich weiß zwar nicht, warum es das einfacher macht, aber dann ergänze ich mein Beispiel um die beiden Felder.


SELECT
input_AusstellerVorname,
input_AusstellerName,
input_Kommentar,
input_Datum
FROM Kundentabelle
INNER JOIN Kommentartabelle
ON Kundentabelle.ID = Kommentartabelle.KundenID
WHERE Kundentabelle.ID = 10660
LIMIT 0,20

Ich habe nicht SHOW CREATE TABLE gepostet, weil so eine Tabelle 20 Spalten und mehr enthält. Daher die Beispieldaten. Inwiefern, würde das denn weiterhelfen.

In der einen Tabelle steht halt:

ID Vorname Nachname

1 Maik Muster
2 Sandra Sonder
3 Beate Beispiel


und in der Kommetartabelle

KID Kommentar Datum
1 Ging nicht ans Telefon 1.1.70
1 war nicht nett zu mir 2.1.70
1 hat nicht bezahlt 4.1.70
2 nicht erreicht 2.1.70
2 wieder nicht erreicht 3.1.70

Ich will halt in der Abfrage den Kunden und den neusten Kommentar miteinander verbunden haben. Da ich anschließend, das Ergebnis ggfs sortieren will, nach Kommentar oder Datum.

schrubba 17.12.2013 10:24:22

AW: Bestimmtes Ergebnis aus der 2. Tabelle einer INNER JOIN abfrage
 
Hi yaem,

ein SHOW CREATE TABLE dient dem einfachen Erstellen der DB, damit die Helfer dies nicht per Hand machen müssen, um für Dich eine Lösung zu finden. Auch Fehler in der DB lassen sich so schnell erkennen. Zum Beispiel würde ich dir als Erstes raten, ein DB-konformes Datumsformat zu wählen, falls das Datum wirklich so in DB steht, wie es dein Beispiel zeigt. ;)


Gruß

Ckaos 20.12.2013 01:51:50

AW: Bestimmtes Ergebnis aus der 2. Tabelle einer INNER JOIN abfrage
 
Hi,

Zitat:

Auch Fehler in der DB lassen sich so schnell erkennen
oder eben wie in deinem Fall "vielleicht" Designfehler.

Denkbar:
Tabelle 1: user
uid first_name last_name last_comment
Tabelle 2: comments
cid comment comment_date
Tabelle 3: comments_associations
user_uid comments_cid


MfG

CKaos


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:43:43 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.