2016-07-03 11 views
0

Ich habe zwei Tabellen user_profile und chat_friendlist gibtMy SQL Innen von zwei Zustand je nach Wert einer anderen Spalte mit einer Tabelle Join

chat_friendslist and user_profile table

SELECT a.id, a.user_id, a.friend_id, 
IF(a.user_id=146, e.user_id, d.user_id) as conversation_user_id, 
IF(a.user_id=146, e.first_name, d.first_name) as conversation_first_name, 
IF(a.user_id=146, e.last_name, d.last_name) as conversation_last_name 
FROM chat_friendlist a 
inner join user_profile as d on a.user_id = d.user_id 
inner join user_profile as e on a.friend_id = e.user_id 
where (a.user_id = 146 or a.friend_id=146) and a.status='accepted' 

The Results of above query

ich dieses Ergebnis bin immer

Aber jetzt möchte ich eine weitere Bedingung Suche nach Vor- und Nachnamen hinzufügen.

Ergebnis sollte Filter nach Vorname und Nachname sein.

Ich habe mit der folgenden Abfrage versucht

SELECT a.id, a.user_id, a.friend_id, 
IF(a.user_id=146, e.user_id, d.user_id) as conversation_user_id, 
IF(a.user_id=146, e.first_name, d.first_name) as conversation_first_name, 
IF(a.user_id=146, e.last_name, d.last_name) as conversation_last_name 
FROM chat_friendlist a 
inner join user_profile as d on a.user_id = d.user_id 
inner join user_profile as e on a.friend_id = e.user_id 
where (a.user_id = 146 or a.friend_id=146) and a.status='accepted' 
and d.first_name like '%g%' and e.first_name like '%g%' 

Aber es gibt nichts zurück.

Bitte helfen Sie mir

Antwort

0

einmal versuchen, mit diesem

(d.first_name like '%g%' or e.first_name like '%g%') 
+0

Ich habe auch dieses müde .. es ist nicht Arbeiten –

+0

Ich habe die Tabellen enthalten ... Sie können es auch versuchen .. helfen Sie mir –

0

Sie

SELECT a.*, 
IF(a.user_id=146, e.user_id, d.user_id) as conversation_user_id, 
IF(a.user_id=146, e.first_name, d.first_name) as conversation_first_name, 
IF(a.user_id=146, e.last_name, d.last_name) as conversation_last_name 
FROM chat_friendlist a 
inner join user_profile as d on a.user_id = d.user_id 
inner join user_profile as e on a.friend_id = e.user_id 
where (a.user_id = 146 or a.friend_id=146) and a.status='accepted' 
and (d.first_name like '%G%' and e.first_name like '%G%') 

schreiben Diese

Arbeit sein könnte
+0

Ich habe thi versucht s ein .. Nicht funktioniert .. Ich habe die Tabellen aufgenommen. Sie können mir helfen –

+0

@Sibbir Ahmed Überprüfen Sie meine aktualisierte Antwort und benachrichtigen Sie mich, wenn es funktioniert oder nicht –

+0

Nein, immer noch dies funktioniert nicht. Ich habe die Tabellen eingeschlossen, die Sie auch laufen lassen können ... oder benötigen Sie irgendwelche Informationen lassen Sie mich. –

Verwandte Themen