[SQL] Reihenanzahl für ID ermitteln

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Sorry, hab mich schlecht ausgedrückt. Ich meine es sollen nur alle SeatID's aufgelistet werden die nur einen Wert in der gleichnamigen Spalte haben.

Code: Alles auswählen

SELECT SeatID
FROM table_main
GROUP BY SeatID
HAVING COUNT(*)=1;
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

ää .. aha .. access fehlermeldet da einen korrekten fehler (ohne
aggregation keine gruppierung und andersrum)



ich hoffe du weisst was du willst .. ich weiss es nämlich nicht. :freak:
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Ich meine das Ich in diesem Abfrageblock

Code: Alles auswählen

SELECT SeatID
FROM table_main
GROUP BY SeatID
HAVING COUNT(*)=1;
weitere Spalten angeben will die mit auf gelistet werden.

Beispiel:

Code: Alles auswählen

SELECT SeatID, txtSpalte1, txtSpalte2, ...
FROM table_main
GROUP BY SeatID
HAVING COUNT(*)=1;
Muss ich da zwei Anfagen kombinieren?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

wart ma
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

denk schon ..

groupierte Abfragen gehen halt nur mit aggregationen
(sagt ja auch access)

und nun kommts drauf an was da noch zusätzlich in den Spalte stehen soll.
Einträge aus der Tabelle selber? wenn ja: welche? wenn nein: tun es da fixe Einträge? wenn nein: liegen die auch in Tabellen?
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

bobobo hat geschrieben:und nun kommts drauf an was da noch zusätzlich in den Spalte stehen soll.
Daten aus einer Text Spalte.
bobobo hat geschrieben:Einträge aus der Tabelle selber?
Diese Daten kommen aus der selben Tabelle, ja.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Und gibt es eine Regel welcher Eintrag das sein soll?
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

bobobo hat geschrieben:Und gibt es eine Regel welcher Eintrag das sein soll?
Ach Krätze, jetzt hast du mich schon wieder verunsichert.

* nachdenk *

Also durch

Code: Alles auswählen

GROUP BY SeatID
HAVING COUNT(*)=1;
fallen ja alle Elemente / Reihen weg die unter derselben SeatID mehere Einträge haben. Alle SeatID's die jetzt übrig bleiben sind somit einmalig. Der Text aus Spalte XY soll sich jetzt natürlich auf die SeatID beziehen die übrig bleibt.

Warte, zu kompliziert ausgedrückt...

Will sagen, es soll der Text angezeigt werden der neben SeatID stehen würde wenn man sich die Tabelle ganz normal ansieht. Ohne Abfrage, ohne alles, nur Doppelclick auf die Tabelle (zumindest in Access).
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

moment mal..

lies dir in der zwischenzeit mal http://de.wikipedia.org/wiki/Normalisierung_(Datenbank) durch
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

so

kommst du mit so 'ner konstruktion klar?

Code: Alles auswählen

Select SeatID,Wert,Text from table_main where SeatID  in (
SELECT SeatID
FROM table_main
GROUP BY SeatID 
HAVING COUNT(*)=1)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten