SQL-Abfrage über zwei Tabellen realisieren

N

newperson

Neues Mitglied
1
Hallo

Struktur:
Ich habe zwei Tabellen(user, freundesliste). Im Anhang befindet sich die Struktur der zwei Tabellen.
user Tabelle mit id, vorname, nachname, profil_id
freundesliste
Tabelle mit id, profil_id, freund_id

Ich möchte alle Leute anzeigen lassen, die nicht meine Freunde sind. Also wenn ich den Buchstaben "D" bei LIKE nachname eingebe und mein persönliches profil_id, dann sollen alle Leute angezeigt werden die NICHT meine Freunde sind und die mit dem Buchstaben "D" anfangen.

Leider werden immer nur die Leute angezeigt, mit die ich Befreundet bin!
Wenn ich mit WHERE NOT freundesliste.profil_id ='$profil_id' abfrage, bekomme ich gar nichts!

Code:
$sql="SELECT * FROM user, freundesliste WHERE freundesliste.profil_id ='$profil_id' AND freundesliste.freund_id = user.profil_id AND user.nachname LIKE '$nachname%'";

Danke für die HILFE
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    9,1 KB · Aufrufe: 215
@swa00 Danke für die Antwort und für den Vorschlag. Nur so löse ich ja nicht das Problem?! Mein Problem ist, dass ich nicht weiß wie man die Leute herausfiltert, die nicht meine Freunde sind?
 
Genau deshalb habe ich dir empfohlen , einen View zu basteln.

Der View wird die nur die Datensätze im Cursor zurückgeben, die dann keinen Cursor in Freundesliste auf Spalte profil_id haben.

Dies ist einer der Basisaufgaben eines Views
 
Hi, endlich hat mein Studium einen Sinn.
Zwar musste ich gerade googlen, aber mir kam direkt ein "Right outer join" in den Kopf, obwohl es ein "left join" ist.
Code:
Select * from user LEFT JOIN freundesliste ON user.profil_id = freundesliste.freund_id where freundesliste.profil_id IS NULL AND user.profil_id !=
'$profil_id'
AND user.nachname LIKE 'K%'
Ich habe es mal versucht auf deinen Code umzuschreiben.

Edit: Habe nicht gesehen, dass mein Bild schon hochgeladen wurde. Falls das jemand ändern kann oder mir sagen kann, wie ich zwei von den Bildern lösche, bitte bescheid geben.
 

Anhänge

  • Bildschirmfoto 2017-02-13 um 08.12.11.png
    Bildschirmfoto 2017-02-13 um 08.12.11.png
    14,1 KB · Aufrufe: 185
  • Bildschirmfoto 2017-02-13 um 08.12.11.png
    Bildschirmfoto 2017-02-13 um 08.12.11.png
    14,1 KB · Aufrufe: 190
  • Bildschirmfoto 2017-02-13 um 08.12.11.png
    Bildschirmfoto 2017-02-13 um 08.12.11.png
    14,1 KB · Aufrufe: 190
  • Danke
Reaktionen: swa00
Moin Kardroid,

Edit: Habe nicht gesehen, dass mein Bild schon hochgeladen wurde. Falls das jemand ändern kann oder mir sagen kann, wie ich zwei von den Bildern lösche, bitte bescheid geben.

du hast drei Bilder drin - richtig ??
 
@Stefan: Ja, 3 mal hochgeladen. Kannst du zwei von den Bildern löschen?
 
Danke @Kardroid und @swa00 für die Antwort und Mühe. :)) Wirklich danke, freu mich für jede Antwort:)

Ich hab das View jz probiert:) Ich wusste gar nicht das diese Funktion gibt. Nur leider, ich mach da irgendein Blödsinn.
________________________________________________
PS. ich hab es anders probiert! Funktioniert aber nicht!
$sql="SELECT * FROM user, freundesliste WHERE freundesliste.profil_id NOT LIKE '%$profil_id%' AND freundesliste.profil_id = user.profil_id AND freundesliste.freund_id LIKE '1' AND user.nachname LIKE '$nachname%'";

Leider werden da nur immer alle freund_id angezeigt, die einen 1er haben.
Ich glaub, ich denk zu kompliziert. :winki:
_________________________________________________
[doublepost=1487005438,1487003745][/doublepost]Wie bekomme ich den Wer profil_id, weil jz bekomme ich ja nur den Wert null zurück, wenn ich es in einer
while($row = mysqli_fetch_array($res)){
array_push($result,array(......));} ausgebe!??
 
Hallo new,

vielleicht ist es Dir ja noch nicht aufgefallen :
Aber wir befinden uns hier im Forum für Android-Entwicklung unter Java / c / c++

Bei uns gibt es leider kein MySql und auch kein ein PHP-Print :)
Wir müssen uns mit SqLite begnügen und da gibt es bekanntlich Unterschiede im Query-Syntax :)
 
Da du meinen so tollen LEFT JOIN nicht benutzt, bin ich jetzt eingeschnappt und helfe nicht mehr weiter. :)
 
  • Danke
Reaktionen: swa00

Ähnliche Themen

M
  • mafoma63
Antworten
2
Aufrufe
758
swa00
swa00
B
Antworten
3
Aufrufe
1.303
swa00
swa00
R
Antworten
6
Aufrufe
993
swa00
swa00
Zurück
Oben Unten