| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Erfahrener Benutzer Registriert seit: 13.01.2012
Beiträge: 256
PHP-Kenntnisse: Anfänger ![]() | Zitat:
Für PostgreSQL gibt es dazu ein contrib-Modul. Aber generell ist SQL eher nicht geeignet für solch Kreuztabellen... Andreas | |
| | |
| | |
| Neuer Benutzer Registriert seit: 11.01.2012
Beiträge: 7
PHP-Kenntnisse: Anfänger ![]() | Hallo Leute, sorry das es solange gedauert hat, aber ich war viel Unterwegs die letzten Tage. Aber... wie versprochen hier der VB-Code für meine Kreuztabellenabfrage. Code: '// Erstellung Kreuztabellenabfrage in eine temporäre Tabelle \\
'Erstellung der Tabelle in welcher oben die Mitarbeiter und links das Datum und der Wochentag geschrieben wird.
TableCreationString = "CREATE TABLE IF NOT EXISTS
azerfassung.temp_abwesenheit (Datum DATE NOT
NULL, Wochentag VARCHAR(15) NULL, "
'Beginn des SQL-Befehls zur Erstellung der Tabelle
MyCommand.CommandText = "SELECT name AS name FROM
query_personalabwesenheit GROUP BY name
ORDER BY name"
'Abfrage zur Ermittlung des Inhaltes für den Rest des Erstellungsbefehls
MyCommand.Connection = MySQLCon
MySQLCon.Open()
MyReader = MyCommand.ExecuteReader
While MyReader.Read()
TableCreationString = TableCreationString & "`" & (MyReader("name")
& "` VARCHAR(80) NULL, ")
'//Die Variable mit dem Beginn des SQL-Befehls wird solange erweitert wie
Mitarbeiternamen in der Abfrage enthalten sind
End While
MyReader.Close()
MySQLCon.Close()
TableCreationString = TableCreationString & "PRIMARY KEY (datum));"
'//Das Ende des SQL-Befehls wird der Variable hinzugefügt
MyCommand.CommandText = TableCreationString
'Der fertige Befehl wird in die Datenbank geschrieben.
MySQLCon.Open()
MyCommand.ExecuteNonQuery()
MySQLCon.Close()
'//Befehl zum Einfügen des Auswertungszeitraumes (Datum und Wochentag) in zuvor erstellte Tabelle
InsertDatumString = "INSERT INTO azerfassung.temp_abwesenheit (Datum,
Wochentag) SELECT datum, wochentag FROM
query_personalabwesenheit GROUP BY datum;"
MyCommand.CommandText = InsertDatumString
'// Befehl in die Datenbank schreiben.
MySQLCon.Open()
MyCommand.ExecuteNonQuery()
MySQLCon.Close()
'// Wertbereich für die Tabelle auslesen
MyCommand.CommandText = "SELECT datum, name, ausfall FROM
query_abwesenheiten;"
MyCommand.Connection = MySQLCon
MySQLCon.Open()
MyReader = MyCommand.ExecuteReader
While MyReader.Read()
SQLDate = Format(MyReader("datum"), "yyyy-MM-dd")
'// Die einzelnen Ausfälle als SQL-Befehl in eine Variable geschrieben.
InsertFailuresString = InsertFailuresString & ("UPDATE
azerfassung.temp_abwesenheit SET `" &
MyReader("name") & "`='" & MyReader("ausfall")
& "' WHERE Datum = '" & SQLDate & "'; ")
End While
MyReader.Close()
MySQLCon.Close()
MyCommand.CommandText = InsertFailuresString
'//Der Wertbereich wird in die Datenbank geschrieben.
MySQLCon.Open()
MyCommand.ExecuteNonQuery()
MySQLCon.Close()
'// Kreutabellenabfrage FERTIG
|
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| mysql kreuztabellenabfrage, kreuztabellenabfrage mysql, kreuztabelle in my sql, php mysql kreuztabelle |