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


panik!! SQL hjälp sökes

Postades av 2006-11-16 11:17:28 - Mikael Kratz, i forum access, Tråden har 5 Kommentarer och lästs av 1013 personer

Jag sitter med ett riktigt soppigt problem där jag måste få viss data ur en tabell men jag får det inte fungera som tänkt.

Tabellen ser ut som nedan och är sorterad på fältet GaugeFKID som är en främmande nyckel. fältet CalibrationID är primärnyckel. Det jag vill få ut är det sista/högsta CalibrationID per GaugeFKID samt att de andra fälten ska följa med som synliga i resultatet.


RÅDATATABELLEN
CalibrationID GaugeFKID CalibrationDate CalibrationResultID
4770 1 2006-11-14 -1
2146 1 2004-04-07 1
1162 2 2003-06-11 1
461 2 2003-02-25 -1
4637 5 2005-10-11 2
2944 5 2004-09-13 1
2659 5 2006-08-22 2
OSV... OSV..... OSV..... OSV......


EFTER FRÅGAN VILL JAG HA DET PRESENTERAT SÅ HÄR. Alltså de högsta CalibrationID per grupp GaugeFKID.
CalibrationID GaugeFKID CalibrationDate CalibrationResultID
4770 1 2006-11-14 -1
1162 2 2003-06-11 1
4637 5 2005-10-11 2


Den som hjälper mig med detta utnämner jag bums till kung av SQL.

Tack på förhand
Micke






Svara

Sv: panik!! SQL hjälp sökes

Postades av 2006-11-16 11:22:05 - Niklas Jansson

Skulle det inte gå med något i stil med

SELECT Max(CalibrationID) FROM Table GROUP BY GaugeFKID

För att få ut alla calibrationID, och sen:

SELECT kolumn1, kolumn2, ... FROM TABLE WHERE CalibrationID IN (SELECT Max(CalibrationID) FROM Table GROUP BY GaugeFKID)
?


Svara

Sv:panik!! SQL hjälp sökes

Postades av 2006-11-16 11:48:19 - Mikael Kratz

Hej

Ja jag kommer så långt att jag får fram de sista CalibrationID per GaugeFKID enligt nedan.

SELECT Max(Calibrations.CalibrationID) AS MaxförCalibrationID, Calibrations.GaugeFKID
FROM Calibrations
GROUP BY Calibrations.GaugeFKID;

men sen är det stopp. Så fort jag hakar på något av de andra fälten CalibrationDate eller CalibrationResultID skiter sig allt.....

Micke


Svara

Sv: panik!! SQL hjälp sökes

Postades av 2006-11-16 12:18:42 - Niklas Jansson

Men du får ju göra en subselect som jag visade, alternativt en join:

SELECT Max(c1.CalibrationID) AS MaxförCalibrationID, c1.GaugeFKID
FROM Calibrations c1
GROUP BY c1.GaugeFKID

LEFT JOIN

SELECT ...kolumner... FROM Calibrations c2

ON c1.calID = c2.calID.


Svara

Sv:panik!! SQL hjälp sökes

Postades av 2006-11-16 12:45:15 - Andreas Hillqvist

Vill bara förtydliga det Nicklas säger med ett exempel:

SELECT Calibrations.*
FROM Calibrations INNER JOIN 
    (SELECT c1.GaugeFKID, Max(c1.CalibrationID) AS MaxförCalibrationID
     FROM Calibrations c1
     GROUP BY c1.GaugeFKID) AS c2 ON (Calibrations.CalibrationID = c2.CalibrationID) AND (Calibrations.GaugeFKID = c2.GaugeFKID)


Svara

Sv: panik!! SQL hjälp sökes

Postades av 2006-11-16 14:10:14 - Mikael Kratz

Tack för hjälpen! Det var guld värt.. Har leverans om en 1 timme av detta och ni räddade min dag... :-)

Jag blev totalt insnöad på att det skulle räcka med en fråga då det bara var en tabell det var frågan om......

Nedan är den fungerande SQL:en

SELECT GaugeFKID, CalibrationDate, CalibrationResultID, CalibrationID
FROM Calibrations
WHERE CalibrationID IN (SELECT Max(Calibrations.CalibrationID) AS CalibrationID
FROM Calibrations
GROUP BY Calibrations.GaugeFKID;);


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 766
27 960
271 761
489
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