vad är det du ska överstyra med?
jag menar: hur vill du bestämma vilken av länkarna som 'räknas' som den rätta?
3 svar · 377 visningar · startad av Bengan
Hur sjutton får man Distinct att funka egentligen om man vill fylla ett recordset med alla kolumner ur en tabell men sortera bort dubbletter av en viss kolumn?
Har gjort en sökmotor för länksamlingen (ej klar än) och den använder SQL satser såhär tex:
SELECT * FROM links WHERE LinkName LIKE '%test%' AND LinkName LIKE '%test2%' ORDER BY LinkName
Kolumnerna heter:
LinkURL, CatID, LinkID, LinkName, LinkAdded, LinkDesc, LinkHits, Kanon, ImageURL, Self
Så långt allt väl förutom om samma länk finns i flera kategorier, då visas länken flera gånger och jag vill bara visa den en gång.
Tänkte då använda Distinct för att sortera ut dubbletter som har samma URL (LinkURL) men får det inte att funka. Har provat så här tex:
SELECT * FROM (SELECT DISTINCT LinkURL FROM links) WHERE LinkName LIKE '%test1%' AND LinkName LIKE '%test2%' ORDER BY LinkName
Men får då: "Det har inte angetts något värde för en eller flera nödvändiga parametrar"
Även provat såhär:
SELECT DISTINCT(LinkURL), CatID, LinkID, LinkName, LinkAdded, LinkDesc, LinkHits, Kanon, ImageURL, Self FROM links WHERE LinkName LIKE '%test1%' AND LinkName LIKE '%test2%' ORDER BY LinkName
Då får man inget fel men distinct verkar inte ha någon effekt!
Hur göra?
vad är det du ska överstyra med?
jag menar: hur vill du bestämma vilken av länkarna som 'räknas' som den rätta?
Först tack för ett svar, började bli nervös
Hmm, inte säker på vad du menar men anledningen till att ev dubbletter finns är ifall jag tyckt att en länk passar i flera kategorier (har över 250 st kategorier så här långt). Alltså räcker det då om en av dessa visas. Det som bör styra är LinkURL eftersom det är där adressen anges, kan ju även använda LinkName men risken finns att olika länkar kanske får samma namn så det bästa är nog att gå på adressen.
Alltså vill jag ha samma SQL sats som överst fast med tillägget att den automatiskt endast visar en post om flera har samma LinkURL. Vilken i ordningen bör inte ha någon betydelse eftersom det ju då är länkar till samma sida.
Eller... Så tänkte jag i allafall
Ingen som vet?