2016-03-30 5 views
0

Ich versuche, meine Daten aus der Abfrage zu bestellen, aber es scheint nichts zu bestellen. Ich habe die folgende Abfrage:Reihenfolge von Integer funktioniert nicht mit meiner Join-Abfrage

SELECT Sleutelwoord.URL 
FROM Sleutelwoord 
LEFT JOIN Artikel ON 
    Artikel.URL = Sleutelwoord.URL 
    AND Sleutelwoord.TEXT = 'somekeyword' 
    ORDER BY Artikel.Datum DESC; 

Die Tabellen:

Artikel // = Artikel

PK URL varchar(255) //the url 
Datum bigint   //the date 

Sleutelwoord // = Stichwort

PK URL varchar(255) //the url 
PK TEXT varchar(255) //the keyword 
Aantal int   //amount of keywords 

Ich speichere Epoche Zeit (in Java so lang) in der Zeile "Datum". Ich möchte, dass die URLs nach der Epoche sortiert werden, in der die neueste (größte) die erste ist. Warum tut meine Anfrage das nicht und wie kann ich das beheben? Vielen Dank.

EDIT: vertauschte den Artikel/das Schlüsselwort in der Tabelle defentions.

Lets sagen, ich habe 3 Artikel:

url1 - 1459336143 
url2 - 1459336153 
url3 - 1459336161 

Wo url 1 ist die erste, die zweite 2 und 3 ist das letzte (und neueste).

Die Keyword-Tabelle wäre so etwas wie dieses:

url1 - randomword - 1 
url1 - anotherword - 1 
url1 - duplicateword - 2 

url2 - randomword - 1 
url2 - anotherword - 1 
url2 - duplicateword - 2 

url3 - something- 1 
url3 - else- 1 
url3 - nothing- 2 

Wenn mein Stichwort randomword ist, ich will url1 und url2 zurück, aber ich möchte, dass sie nach dem Datum geordnet (Epoche). Deshalb möchte ich

url2 
url1 

weil url2 die neueste ist und url1 ist älter als url2.

+0

Wie es sich auf Java bezieht – Panther

+0

Es ist nicht mehr, änderte ich den Inhalt der Nachricht, aber vergessen, das Tag zu entfernen. –

+0

sind sortierbar nur Wert ..in wählen – scaisEdge

Antwort

0

Sie haben

erwähnt
ORDER BY Artikel.Datum DESC; 

aber für Artikel Tabelle Datum ist keine Spalte

PK URL varchar(255) //the url 
PK TEXT varchar(255) //the keyword 
Aantal int   //amount of keywords 

, wenn Sie basierend auf Datum bestellen möchten, verwenden

ORDER BY Sleutelwoord.Datum DESC; 
+0

Include Artikel.Datum in Wählen Sie und verwenden Sie innere Verknüpfung. –

0

Mit INNER JOIN Ihre Abfrage ruft nur Zeilen ab, die in beiden Tabellen übereinstimmen.

SELECT s.URL 
FROM Sleutelwoord AS s 
INNER JOIN Artikel AS a ON 
    a.URL = s.URL 
WHERE s.TEXT = 'somekeyword' 
ORDER BY a.Datum DESC;