Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MySQL Anzahl Strings mit selbem Beginn

Frage Entwicklung Datenbanken

Mitglied: RedBullmachtfit

RedBullmachtfit (Level 1) - Jetzt verbinden

26.01.2011 um 16:52 Uhr, 3110 Aufrufe, 9 Kommentare

Wieviele Artikelnummern die mit derselben Zahl / Buchstabe anfangen sind in der Tabelle vorhanden

Hallo,
ich habe eine Artikelinfo (VB.NET 2010) aufgebaut, in welcher Anwender einfach die jeweilige
Artikelnummer eingeben können und der jeweilige Lagerbestand und Preise etc. ausgegeben werden.
Dahinter steht eine MySQL 5 Datenbank.
Die Artikelnummern beginnen mit "2.xxxxxx" oder z.B. "JU xxxxxx"

Gibt nun ein Anwender "JU 12" ein, sollen alle Artikel, die mit "JU 12xxxx" beginnen in ein Datagrid geschrieben werden,
wenn die Anzahl der Ergebnisse > 1 beträgt.
Die Abfrage lautet:
01.
SELECT a.art_nr, count(*) FROM artikel a WHERE a.art_nr LIKE 'JU 12%' GROUP BY a.art_nr
Hier bleibt Count bei 1, da ja jede Artikelnummer nur einmal existiert.

Was mache ich verkehrt bzw. wie lautet die Abfrage richtig?

Danke im Voraus!
Mitglied: EvilMoe
26.01.2011 um 17:43 Uhr
Das GROUP BY kannst du dir doch sparen, jede Nr ist nur einmal vorhanden also brauch doch nichts grupiert werden oder sehe ich das falsch?
Was ist denn nun das Problem, das Count 1 anzeiget aber mehr als eine Artikel Nr. mit JU 12 anfängt?
Bitte warten ..
Mitglied: RedBullmachtfit
26.01.2011 um 18:02 Uhr
Ja, ich dachte ich könnte nach dem Anfang des String Gruppieren. Also in dem Fall "JU 12".
Ich möchte einfach
1. die Anzahl der Artikel herausfinden, deren Artikelnummer mit dem String also wieder "JU 12" beginnen.
Also JU 12001, JU 12002 JU 12003 = 3 Artikel
2. diese drei Artikel in einem Datagrid darstellen, damit der Anwender per Klick auf einen Artikel die jeweiligen
Daten wie Lagerbestand und Preise sieht.
Bitte warten ..
Mitglied: EvilMoe
26.01.2011 um 18:19 Uhr
Wenn du das mit GROUP BY machst erhälst du immer "1", das ist auch korrekt. Denn für jede Artikelnummer hast du auch nur einen Treffer.
Wenn du allerdings die ganze Anzahl haben möchtest wieviele Artikelnummern mit "JU 12" anfangen musst du das GROUP BY weg lassen.
Bitte warten ..
Mitglied: 48507
26.01.2011 um 18:33 Uhr
01.
SELECT a.art_nr FROM artikel a WHERE a.art_nr LIKE 'JU 12%'
Die Anzahl der Datensätze wertest du dann in VB.NET 2010 aus.
Bitte warten ..
Mitglied: RedBullmachtfit
27.01.2011 um 08:52 Uhr
Okay, danke euch beiden schonmal. Die richtigen Artikel bekomme ich ja bereits.
Aber wie finde ich denn mi dem MySQL Connector die Anzahl der Ergebnisse heraus?
Ich will die Daten aus Performancegründen nicht grundsätzlich in das Datagrid laufen lassen, sondern nur wenn
mehrere Artikelnummern existieren die mit "JU 12xxxx" beginnen, damit der Benutzer den gewünschten per Mausklick auswählen kann.

01.
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSearch.Click 
02.
        Dim conn As New MySqlConnection 
03.
        Dim myCommand As New MySqlCommand 
04.
        Dim myAdapter As New MySqlDataAdapter 
05.
        Dim mydatareader As MySqlDataReader 
06.
        Dim myString As String = "" 
07.
 
08.
        Dim SQL As String 
09.
 
10.
        SQL = "SELECT * FROM artikel a, lagerbestand l, preisstaffel p, preiseinheit pr, me_tab m WHERE a.art_nr LIKE '" & txtArtikel.Text & _ 
11.
            "%' AND a.art_lfdnr = l.lbs_artlfdnr AND a.art_preisnr = p.mes_nr AND a.art_preiskz = pr.pr_nr AND a.art_mekz1 = m.me_nr" 
12.
 
13.
        conn.ConnectionString = myConnString 
14.
        Try 
15.
            conn.Open() 
16.
            Try 
17.
                myCommand = conn.CreateCommand() 
18.
                myCommand.CommandType = CommandType.Text 
19.
                myCommand.CommandText = SQL 
20.
                mydatareader = myCommand.ExecuteReader(CommandBehavior.SingleRow) 
21.
                mydatareader.Read() 
22.
 
23.
                If mydatareader.HasRows Then 
24.
 
25.
                    myString = mydatareader("art_nr") 
26.
                    If Not IsDBNull(myString) Then 
27.
                        lblActiveArt.Text = Convert.ToString(myString) 
28.
                    End If 
29.
 
30.
                    myString = mydatareader("art_bez_001") 
31.
                    If Not IsDBNull(myString) Then 
32.
                        txtBez001.Text = Convert.ToString(myString) 
33.
                    Else 
34.
                        txtBez001.Text = String.Empty 
35.
                    End If 
36.
... 
37.
 
38.
                End If 
39.
            Catch myerror As MySqlException 
40.
                MsgBox("Fehler beim Lesen der Datenbank: " & myerror.Message) 
41.
            End Try 
42.
        Catch myerror As MySqlException 
43.
            MessageBox.Show("Fehler beim Verbindungsaufbau: " & myerror.Message) 
44.
        Finally 
45.
            If conn.State <> ConnectionState.Closed Then conn.Close() 
46.
        End Try 
47.
    End Sub
Bitte warten ..
Mitglied: 48507
27.01.2011 um 13:00 Uhr
Dann mach zuerst einen Count(*) und wenn er positiv ist, dann die eigentliche Abfrage. Außerdem kannst du Abfragen limitieren, mit einem "LIMIT 20" am Ende (20 Datensätze). VB.Net kenne ich leider nicht.
Bitte warten ..
Mitglied: RedBullmachtfit
27.01.2011 um 14:09 Uhr
Gute Idee mit dem Count ;)
Aber wie oben beschrieben bleibt ja Count bei 1, da jede Artikelnummer ja nur einmal existiert.
Ich muss wissen wieviele Datensätze mit dem BEGINN des Strings existieren.
Bitte warten ..
Mitglied: 48507
27.01.2011 um 14:35 Uhr
Mensch, ist doch kein Problem, hier ist dein Count:

01.
SELECT count(*) FROM artikel a WHERE a.art_nr LIKE 'JU 12%'
Bitte warten ..
Mitglied: RedBullmachtfit
27.01.2011 um 14:45 Uhr
Aaaaah, so hast du das gemeint!
Perfekt, ich danke dir!
Bitte warten ..
Ähnliche Inhalte
C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

Datenbanken
gelöst MySQL Function Anzahl Datensätze ermitteln (4)

Frage von MultiStorm zum Thema Datenbanken ...

Batch & Shell
gelöst String automatisch anpassen (erweitern oder kürzen) (9)

Frage von CreatorX zum Thema Batch & Shell ...

Visual Studio
gelöst DotNet String Sortierung (5)

Frage von emeriks zum Thema Visual Studio ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (17)

Frage von zauberer123 zum Thema Windows 10 ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...