Werte aus verschiedenen Tabellen zusammenführen
-
Hallo
Ich bin in Sachen Datenbanken ein totaler Neuling.
Ich hoffe, Ihr seid daher etwas nachsichtig mit mir,
wenn ich die Frage bzw. das Problem falsch angehe.Ich habe eine Tabelle mit dem Namen
_posts
und dort eine SpalteID
,
eine Tabelle_postmeta
mit den Spaltenpost_id
undmeta_key = _regular_price
,
in der selben Tabelle_postmeta
auch eine Spaltemeta_key = _min_price
und schliesslich in der selben Tabelle_postmeta
auch eine Spaltemeta_key = _max_price
Hier eine etwas übersichtlichere Darstellung,
jeweils mit einem Beispiel-Datensatz:_posts ID = 41 und post_type = product _postmeta post_id = 41 und meta_key = _regular_price und meta_value = 90.00 _postmeta post_id = 41 und meta_key = _min_price und meta_value = 80.00 _postmeta post_id = 41 und meta_key = _max_price und meta_value = 91.00
Wie frage ich die Datenbank ab,
so dass ich die verschiedenen Tabellen zusammenführen kann
(ID bzw. post_id ist pro zusammengehöriger Datensatz identisch)?Mit der folgenden Abfrage:
$results = $wpdb->get_results( " SELECT $postmeta.* FROM $postmeta INNER JOIN $posts ON $postmeta.post_id = $posts.ID WHERE $posts.post_type LIKE '%product%' AND $postmeta.meta_key LIKE '%_regular_price%' ")
und dieser Schleife:
foreach($results as $result){ $meta_id = $result->meta_id; $post_id = $result->post_id; $meta_key = $result->meta_key; $meta_value = number_format( $result->meta_value, 2 ); echo "<div>meta_id: $meta_id</div>"; echo "<div>post_id: $post_id</div>"; echo "<div>meta_key: $meta_key</div>"; echo "<div>meta_value: $meta_value</div>"; }
erhalte ich folgende Ausgabe:
meta_id: 463 post_id: 41 meta_key: _regular_price meta_value: 200.00
ich möchte gerne erhalten:
meta_id: 463 post_id: 41 meta_key: _regular_price meta_value: 90.00 min_price: 80.00 max_price: 91.00
Ich bin sehr dankbar, wenn mir jemand auch nur einen Tipp in eine sinnvolle Richtung geben kann.
Ganz herzlichen Dank
Matthias
Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]
- Das Thema „Werte aus verschiedenen Tabellen zusammenführen“ ist für neue Antworten geschlossen.