AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Abfrage über Bit Werte
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Abfrage über Bit Werte

Ein Thema von renekr · begonnen am 30. Apr 2007 · letzter Beitrag vom 1. Mai 2007
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

SQL Abfrage über Bit Werte

  Alt 30. Apr 2007, 09:57
Datenbank: SQL Server • Version: 2005 • Zugriff über: ADO
Hi,

Hoffe mir kann jemand kurz helfen?

Stehe grad auf dem schlauch.

Ich habe eine Tabelle mit Paketservice,Barcode,Datum,Bit Feld.

Nun will ich folgendes mache:

Es ist eine Tabelle wo Pakete drin stehen und der Bit Wert sagt ob die Beschädigt sind,oder nicht.

Nun will ich eine Abfrage mache die mir die Anzahl der Pakete für jeden Paketservice gibt und zudem noch die Summe wieviele Pakete beschädigt sind und wieviele nicht.

Ist das realisierbar ,oder nur mit 2 View.

Danke.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: SQL Abfrage über Bit Werte

  Alt 30. Apr 2007, 10:03
Ist wohl ein Join notwendig
Markus Kinzler
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: SQL Abfrage über Bit Werte

  Alt 30. Apr 2007, 10:10
Hi,

das auch aber nur um den Paketdienst zu holen aus einer ID raus.

Also ich will die Paketservice Gruppieren.
Das klappt.
SQL-Code:
SELECT TOP (100) PERCENT dbo.Paketservice.Paketservice, MAX(dbo.Barcodetabelle.Barcode) AS BC, COUNT(dbo.Barcodetabelle.beschaedigt)
                      AS Anzahl
FROM dbo.Barcodetabelle LEFT OUTER JOIN
                      dbo.Paketservice ON dbo.Barcodetabelle.Paketservice = dbo.Paketservice.ID
GROUP BY dbo.Paketservice.Paketservice
ORDER BY dbo.Paketservice.Paketservice
Nun zeigt sich mir eine Tabelle mit allen PAketservices und dem Letzten Barcode.
Und die Anzahl der Pakete gesamt.

Ich will aber gerne 2 Spalten ,1 mal die wo unter Beschädigt true sind und die anderen wo False sind.

Kann man das überhaupt in 1 View abfragen?

Unter Access gehts so in der Select anweisung mit drin.!

 IIf([beschaedigt]=0,1,0) AS IO, IIf([beschaedigt]=-1,1,0) AS NIO
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL Abfrage über Bit Werte

  Alt 30. Apr 2007, 10:14
iif ist ja eine Standard-SQL funktion, wenn MS diese für Access implemnetiert hat, gibt es diese sicherlich aus füe den MSSQL
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: SQL Abfrage über Bit Werte

  Alt 30. Apr 2007, 22:37
Hallo renekr,

deine Datenstruktur und deine Wünsche kann ich nur sehr schwer verstehen/deuten.

Ich versuche es trotzdem mal...
SQL-Code:
SELECT Paketservice, SUM(io) AS io, SUM(nio) AS nio, SUM(anzahl) AS anzahl
FROM (SELECT p.Paketservice,
             CASE WHEN b.beschaedigt = 0 THEN 1 ELSE 0 END AS io,
             CASE WHEN b.beschaedigt = 1 THEN 1 ELSE 0 END AS nio,
             1 AS anzahl
      FROM Barcodetabelle b
      LEFT JOIN Paketservice p
        ON b.Paketservice = p.ID) x
GROUP BY Paketservice
ORDER BY Paketservice
Gruss
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: SQL Abfrage über Bit Werte

  Alt 30. Apr 2007, 22:54
Zitat von mkinzler:
iif ist ja eine Standard-SQL funktion, wenn MS diese für Access implemnetiert hat, gibt es diese sicherlich aus füe den MSSQL
Das Pendant dazu in MSSQL heisst case.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: SQL Abfrage über Bit Werte

  Alt 1. Mai 2007, 10:35
Hi,
danke für die Antworten.

Habe es mittlerweile über 2 Views mit Case realisiert.

Ich werde es aber umbauen udn daruas 1 View machen,der Übersicht halber.


Vielen Dank für die Tipps.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz