![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Jr. Member
![]() Registriert seit: 10.09.2004
Beiträge: 29
|
![]() Ich habe drei Entitäten (Land,Min,Kartenname) und möchte mir nun zu jedem Land nur diejenige Karte anzeigen lassen die die größte Minutenanzahl hat.
Wenn ich den Assistenten verwende komme ich aber leider wieder nur auf alle Datensätze. Die SQL Ansicht funktioniert anscheinend nicht so wie bei Oracle. Eigentlich müßte man doch nur ein distinct einfügen und nach max Kartenname sortieren oder? |
![]() |
![]() |
![]() |
#2 |
Elite
![]() Registriert seit: 18.06.2001
Alter: 44
Beiträge: 1.333
|
![]() probier mal im access bei der abfrage unten "maximum" oder so ähnlich. weis ich nicht mehr genau (verwende keine ms office mehr), wenn nicht such dich durch die hilfe.
wenn das nicht klappt, mach eigenes feld mit abfrage u verwende formel aus excel für maximu.
____________________________________
wissen ist macht - nichts wissen macht auch nichts |
![]() |
![]() |
![]() |
#3 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Hallo,
sollte eigentlich genauso wie bei Oracle funktionieren, nur die alte (Oracle) Join Syntax wird glaub' ich nicht unterstützt. select a.*,b.* from a inner join b on a.key=b.key where b.kartenname = select max(kartenname) from b Oder so ähnlich. Vielleicht könntest du deine Anforderung etwas genauer spezifizieren, ist etwas unklar. - Vielleicht kannst du ja auch die Oracle Abfrage posten. ciao dr |
![]() |
![]() |
![]() |
#4 |
Jr. Member
![]() Registriert seit: 10.09.2004
Beiträge: 29
|
![]() SELECT DISTINCTROW Tabelle1.Land, Tabelle1.Kartenname, Max(Tabelle1.[zum Handy]) AS [Max von zum Handy]
FROM Tabelle1 GROUP BY Tabelle1.Land, Tabelle1.Kartenname; Das ist die von Access erstellte Abfrage (mittels Assistenten gemacht). Ich möchte aber, dass nur jene (Datensätze -Kombination Länder,Kartenname) angezeigt werden, die den größten Wert in der Spalte zum Handy haben. Müßte da nicht die max Abfrage nach group by kommen? |
![]() |
![]() |
![]() |
#5 |
Jr. Member
![]() Registriert seit: 10.09.2004
Beiträge: 29
|
![]() Nähere Informationen zur Tabelle:
Tabelle1.Land = String Tabelle1.[zum Handy] = Integer Tabelle1.Kartenname = String Ich möchte einfach eine Abfrage erzeugen, die mir zu jedem Land, den Datensatz mit der größten Integer in der Zelle zum Handy anzeigt. Untenstehede Abfrage erzeugt mir eine Reihung (gereiht nach zum Handy) schließt zeigt mir aber nicht nur den jeweils größten Datensatz an. Bräuchte es da nict ur an der richtigen stelle ein Distinct. SELECT Max(Tabelle1.Land) AS MaxvonLand, Tabelle1.[zum Handy], Tabelle1.Kartenname FROM Tabelle1 GROUP BY Tabelle1.[zum Handy], Tabelle1.Kartenname ORDER BY Max(Tabelle1.Land); |
![]() |
![]() |
![]() |
#6 |
Master
![]() Registriert seit: 19.04.2000
Beiträge: 541
|
![]() Ich kenne nur einen Weg das zu lösen. Der ist zwar relativ einfach zu verstehen, man braucht aber 2 Abfragen dafür:
Abfrage1: Code:
SELECT [Tabelle1].[Land] AS MaxLand, Max([Tabelle1].[zum Handy]) AS MaxHandy FROM Tabelle1 GROUP BY [Tabelle1].[Land]; Nun noch eine zweite Abfrage die das Ergebnis der Abfrage1 einfach mit der "Tabelle1" verknüpft (MaxLand -> Land , MaxHandy -> zum Handy). Fertig. Es würde auch mit einer Unterabfrage innerhalb der Abfrage gehen, aber das ist komplizierter zu erklären und verstehen. Das sieht dann so aus: Code:
SELECT * FROM Tabelle1 WHERE (Tabelle1.[zum Handy] In (SELECT Max([Tabelle1].[zum Handy]) AS MaxHandy FROM Tabelle1 GROUP BY [Tabelle1].[Land] HAVING Land = Tabelle1.Land; )); |
![]() |
![]() |
![]() |
#7 |
bitte Mailadresse prüfen!
Registriert seit: 17.03.2002
Beiträge: 198
|
![]() Hallo, also ich weiss nicht ob ich dich richtig verstanden habe, aber:
select land,kartenname,max(handy) as maxhandy from tabelle group by land,kartenname having max(handy)=select max(handy) from tabelle1 ? Falls das nicht ist, vielleicht kannst du ja einmal ein paar Datensätze posten, die du gruppieren willst? |
![]() |
![]() |
![]() |
#8 |
Veteran
![]() Registriert seit: 15.11.2000
Beiträge: 211
|
![]() Danke für eure Hilfe es funktioniert jetzt!!!!
|
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|