2017-07-07 1 views
0

Ich habe Tabellen wie diese:Get 1 Ergebnis in der ersten Spalte der Tabelle und erhalten Sie alle Ergebnisse in der zweiten Spalte der Tabelle

Benutzer

id | firstname | lastname | date 
-------------------------------------------------- 
    1 | paul  | sy   | date 

    2 | james  | curry  | date 

    3 | kevin  | leonard | date 

docs_list

id | user_id | url | title | date 
------------------------------------------------------- 
    1 |  1  | url | title | date 
    2 |  2  | url | title | date 
    3 |  1  | url | title | date 

Ich möchte 1 Ergebnis von firstname und lastname und alle von erhalten die Ergebnisse von url und titleauf, wo die users.id und docs_list.user_id zum id gleich gegeben ORDER BY docs_list.date DESC.

Also das ist, wie ich es abfragen:

SELECT users.first, users.last, docs_list.urlcode, docs_list.title 

FROM users 

INNER JOIN docs_list 

ON users.id = docs_list.user_id 

WHERE docs_list.user_id = {$value} 

ORDER BY docs_list.date DESC 

Problem ist, dass ich so viele firstname und lastname Ergebnisse (gleich, wie viele Zeilen Ich habe im docs_list Ergebnis). Ich brauche nur 1 firstname und lastname.

Also wie kann ich es tun?

Antwort

0

Versuchen Sie diese Abfrage, die ich basierend auf Ihrer gegebenen Tabelle gemacht habe.

SELECT u.firstname, u.lastname 

FROM users u 

JOIN docs_list dl 

ON u.id = dl.user_id 

WHERE dl.user_id = {$value} 

GROUP BY 1 

Wenn Sie ein Ergebnis eine Zeile für Vornamen bekommen und Nachnamen Sie einfach Vornamen auswählen und Nachnamen nur. Denn wenn es URL und Titel gibt, haben sie unterschiedliche Werte für jede Zeile. Wenn Sie also nach ihnen gruppieren, wäre ich ein Fehler, weil URL und Titel einen anderen Wert haben. * Korrigieren Sie mich, wenn ich falsch liege: D

+0

Ich habe versucht, 'GROUP BY users.vorname, users.lastname' und' GROUP BY docs_list.url, docs_list.title' zu ​​verwenden und beide funktionierten nicht. –

+1

versuchen Sie, meine Abfrage zu verwenden, die ich von Ihrer gegebenen Tabelle Sir gemacht habe. –

+0

gleiche Ergebnisse wie ich jetzt habe. und danke für die schnelle Antwort sehr geschätzt. –

0

Ich nehme an, dass Sie eine saubere Präsentation auf der Webseite machen wollen, die ohne doppelte Vornamen und Nachnamen ist? Wenn das der Fall ist, müssen Sie die Präsentation von der Datenabfrage trennen. (Oder Sie können Ihre Daten separat abrufen) Aus meiner Sicht können Sie nicht "Gruppe von" verwenden, weil Sie dadurch andere Daten wie URL und andere nicht doppelte Felder verlieren.

+0

'ohne doppelte Vornamen und Nachnamen' ja, weil ich es nicht brauche, ich brauche nur 1 Paar davon. Was meinst du damit zu sagen, dass ich 2 Anfragen machen muss? 'Sie können nicht" Gruppe von "verwenden" Ja, ich kann nicht. –

Verwandte Themen