2011-01-06 8 views
0

Ich habe eine (schöne) mysql Tabelle wie folgt aufgebaut:MYSQL - SELECT FROM TABLE ALL wenn

Fields   Datas 
id (pk)   1   2  3  4  5   6 
master_id   1000  1000  1000  2000 2000  2000 ... 
master_name  home  home  home  shop shop  shop ... 
type_data   value common client value common client ... 
param_a   foo_a  1   0  bar_a  0  1 ... 
param_b   foo_b  1   0  bar_b  1  0 ... 
param_c   foo_c  0   1  bar_c  0  1 ... 
...    ...  ...  ...  ...  ...  ... ... 

All diese Daten werden in einer einzigen Tabelle einbetten. Alle Daten werden auf 3 "Spalten" verteilt (1 für die Werte, 1 für die Identifizierung, ob es sich um gemeinsame Werte handelt und 1 für die Identifizierung von Kundenwerten). Es ist nicht das Beste, was ich habe, aber viele andere Skripte hängen von dieser Struktur ab.

SELECT parameters name (eg param_a, param_b..) and their values (eg foo_a, foo_b..) 
WHEN master_id=? AND type_data=(common or client) (eg for values=1 on the 2nd column) 

:

ich so bräuchten STHG.

, um die Parameter Hash für einen bestimmten master_id zu bekommen wie

param_a => foo_a 
param_b => foo_b 
param_c => foo_c 
... 

konnte ich nicht in Selbst Erfolg bis jetzt auf dem gleichen Tisch verbinden, aber ich denke, es ist machbar sein sollte. (Ich möchte zu vermeiden, mehrere Abfragen zu tun)

Thx im Voraus

Antwort

0

Ich glaube, Sie sprechen über die Daten schwenken? Wenn ja, siehe hier: http://en.wikibooks.org/wiki/MySQL/Pivot_table und hier: http://dev.mysql.com/tech-resources/articles/wizard/print_version.html

+0

humm vielleicht, aber ich denke nicht so, wie ich nur einen Vektor von Daten als Ergebnis bekommen werde. – hornetbzz

+0

Ich habe das versucht. Es ist überhaupt nicht funktionieren, aber vielleicht besser "erklären", was ich brauche: SELECT * FROM my_table e1, e2 my_table WHERE e1.master_id = 1000 UND e1.type_data = "Wert" UND e2.type_data =“ Client "als Ergebnis HAVING Ergebnis = 1 – hornetbzz

+0

Konnte keine funktionierende Lösung finden. Ich gebe es auf und mache es per Skript mit den Arrays ... – hornetbzz