Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Endast en förekomst av ett id, Access, SQL

Postades av 2000-11-01 14:42:00 - Håkan Wennerberg, i forum databaser, Tråden har 5 Kommentarer och lästs av 993 personer

Sitter och arbetar i ett projekt där man har två tabeller i en Access-databas som är relaterade till varandra. Låt mig ta skivor som ett exempel.

Man har en tabell med information om ett Album. Den tabellen är relaterad till en annan med låtarna som finns på albumet. På dessa två vill man genomföra en textsökning. Man kan exempelvis söka på "love" vilket använder följande syntax:

SELECT Album.id, Album.name, Song.id, Song.album, Song.name
FROM Album INNER JOIN Song ON Album.id = Song.album
WHERE Album.name LIKE '%love%' OR Song.name LIKE '%love%'

Då får man tillbaka de album där ordet love ingår i albumnamnet eller i låtnamnet. Men, om det finns flera låtar på samma album som innehåller ordet så förekommer albumet två gånger fast med olika låtar. Detta vill jag undvika eftersom jag endast vill lista de album där ordet förekommer, jag är alltså inte intresserad av vilka eller hur många låtar det är som matchar.

Kan jag i SQL-sattsen göra så att jag endast får upp max en post per album, en förekomst av ett id eller liknande?

(jag vill inte filtrera i den loop jag använder för att skriva ut informationen då jag använder "paging" för att göra detta)

Använder: ADO 2.5, Access 2000.


Svara

Sv: Endast en förekomst av ett id, Access, SQL

Postades av 2000-11-01 17:40:00 - Pelle Johansson

Tror du i Access kan använda Select Distinct ... Alternativ kan du använda group by ... vilket också skall medför endast en post om du grupperar på exempelvis group by Album.id
/Pelle


Svara

Sv: Endast en förekomst av ett id, Access, SQL

Postades av 2000-11-01 17:45:00 - Johan Djupmarker

Antar att du bara vill få upp Albumets id och namn, då kan du göra såhär (hoppas jag :)

SELECT Album.id, Album.name
FROM Album INNER JOIN Song ON Album.id = Song.album
GROUP BY Album.id, Album.name
HAVING (((Album.name) Like "*love*")) OR (((First(Song.name)) Like "*love*"));

/Johan


Svara

Tackar

Postades av 2000-11-01 21:40:00 - Håkan Wennerberg

Tack för det grabbar, SQL-uttrycket fungerar fint, nästan... Av någon anledning så blev jag tvungen att använda Last istället för First. Annars blev utan albumet helt om det endast blev en träff per album.


Svara

Sv: Tackar

Postades av 2000-11-01 23:04:00 - Pelle Johansson

Måste får påpeka, du skrev också: Använder: ADO 2.5, Access 2000.
Tänk om alla kunde vara lika tydliga som du i sin frågeställning, bra Håkan !


Svara

Sv: Tackar

Postades av 2000-11-01 23:07:00 - Johan Djupmarker

Så här ska det nog vara förresten:

SELECT Album.id, Album.name
FROM Album INNER JOIN Song ON Album.id = Song.album
WHERE (((Song.name) Like "*love*") OR ((Album.name) Like "*love*"))
GROUP BY Album.id, Album.name;

Jag skapade uttrycket med verktyget i Access och det blev visst lite fel, detta borde bli mer ricktigt.

/Johan


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 678
27 958
271 741
583
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies