php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-12-2007, 17:31
s.roettger
 Junior Member
Links : Onlinestatus : s.roettger ist offline
Registriert seit: Nov 2002
Beiträge: 169
s.roettger ist zur Zeit noch ein unbeschriebenes Blatt
Question Komplizierte Abfrage

Guten Tag
Ich habe ein Problem bzw. fehlen mir die Ansätze um folgendes Problem zu lösen:

Die folgenden Tabellen habe ich:
TBenutzer
ID | Name

TAbfrage
IDAbfrage | Frage

TAbfrageWert
IDBenutzer | IDAbfrage | Wert

Ich stelle Benutzern regelmäßig Fragen auf die ich Antworten von Ihnen benötige. Die packe ich dann in eine Tabelle.
Bisher habe ich das immer in Excel dargestellt - möchte jetzt das aber online bringen. Deshalb hab ich die Tab. TAbfrage & TAbfrageWert neu angelegt. TBenutzer wird so verwendet.

Ich möchte die folgende Darstellung erreichen, wobei die Tabelle nach rechts offen seien muss, da n Fragen erlaubt sind; die erste Spalte sind die Benutzer. (Siehe auch Anlage)
Es müssen übrigens immer ALLE Benutzer zu einer Frage eine Antwort abgeben - es kann höchstens sein, dass ich einen Wert noch nicht habe. Irgendwann kommt er aber.

Benutzer | Frage 1 | Frage 2 | Frage 3 | usw.
1 | 32 | 1 | 23 | usw
2 | 42 | - | 33 | usw
3 | 12 | 5 | 55 | usw
....

Ich habe es mit äußerst wirren Abfragen schon annähernd erreicht, allerdings stosse ich immer wieder auf schwere Bugs, da die Darstellung durcheinander gehauen wird.
Wie würdet Ihr daran gehen??? Evtl. ist ja auch die Tabellenstruktur nicht optimal... Ein Lösungsansatz bzw. mal eine Abfrageidee wäre super!

Danke!
Angehängte Grafiken
Dateityp: gif beispiel_matrix.gif (3,2 KB, 107x aufgerufen)
Mit Zitat antworten
  #2 (permalink)  
Alt 12-12-2007, 00:27
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ein einfacher JOIN USING IDAbfrage liefert dir das:
Code:
Frage      Benutzer      Wert
   1           1          0
   1           2          1
   1           3          1
   2           1          1
   2           2          0
   2           3          1
   3           2          1
Diese Tabelle ist sozusagen "nach unten offen". Wenn du es unbedingt nach rechts offen haben willst, mußt du es bei der Ausgabe
transponieren.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-12-2007, 08:39
s.roettger
 Junior Member
Links : Onlinestatus : s.roettger ist offline
Registriert seit: Nov 2002
Beiträge: 169
s.roettger ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OK. Ein Join liefert mir eine nach "unten" offene Sache....

PHP-Code:
SELECT FROM TAbfrageWert pro
inner join
TAbfrage ref
on ref
.IDAbfrage=pro.IDAbfrage 
Ich verstehe nur nicht, was Du mit
Zitat:
du es bei der Ausgabe transponieren
meinst. Das kriege ich noch nicht hin.

Ich möchte ja die Ausgabe so haben:
Benutzer | Frage 1 | Frage 2 | usw.
Benutzer A | Wert1 | Wert2
Benutzer B | Wert1| Wert2

Momentan krieg ich diese:
Benutzer A | Wert1
Benutzer B | Wert1
Benutzer A | Wert2
Benutzer B | Wert2
...

Wie gehe ich da vor? Wie kann ich die Abfrage manipulieren!??? Besten Dank!
Mit Zitat antworten
  #4 (permalink)  
Alt 13-12-2007, 13:07
s.roettger
 Junior Member
Links : Onlinestatus : s.roettger ist offline
Registriert seit: Nov 2002
Beiträge: 169
s.roettger ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Keiner eine Idee?
Mit Zitat antworten
  #5 (permalink)  
Alt 13-12-2007, 15:42
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

GROUP BY und GROUP_CONCAT
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:37 Uhr.