bakterius
Benutzer
- Beiträge
- 6
Hallo zusammen
Ich steh grad auf dem Schlauch und komme nicht weiter.
Ich habe zwei Tabellen (ist von Wordpress so vorgegeben). In der einen sind Einsätze und in der anderen sind die Metadaten zum Einsatz. Also wer, wann, wo etc.
Einfach dargestellt sieht das ganze so aus.
wp_posts
+----+-----------------+-----------------+-----------------+-----------------+
| ID | post_title | post_status | post_name | post_type |
+----+-----------------+-----------------+-----------------+-----------------+
| 1 | Einsatz #1 | publish | einsatz1 | fweinsatz |
| 2 | Einsatz #2 | publish | einsatz2 | fweinsatz |
| 3 | Einsatz #3 | publish | einsatz3 | fweinsatz |
| 4 | Einsatz #4 | publish | einsatz4 | fweinsatz |
| 5 | Einsatz #5 | publish | einsatz5 | fweinsatz |
| 6 | Einsatz #6 | draft | einsatz6 | fweinsatz |
| 7 | irgendwas | publish | irgendwas | blalabla |
wp_postmeta
+-----------+--------------+-----------------+---------------------+
| meta_id | post_id | meta_key | meta_value |
+-----------+--------------+-----------------+---------------------+
| 1 | 1 | datumzeit | 2018-01-01 00:00 |
| 2 | 1 | sankp | Kleinalarm |
| 3 | 2 | datumzeit | 2018-01-02 00:00 |
| 4 | 2 | sankp | Bagatellgruppe |
| 5 | 3 | datumzeit | 2018-05-05 00:00 |
| 6 | 3 | kpnord | Kleinalarm |
| 7 | 4 | datumzeit | 2018-03-18 00:00 |
| 8 | 4 | sankp | Kleinalarm |
| 8 | 4 | kpnord | Kleinalarm |
Um nun alle Einsätze abzufragen und zu sortieren nutze ich dieses SQL Statement:
SELECT wp_posts.*, wp_postmeta.*
FROM wp_posts
INNER JOIN wp_postmeta ON wp_postmeta.post_id = wp_posts.ID
AND wp_postmeta.meta_key ="datumzeit"
WHERE (
wp_posts.post_type = "fweinsatz"
)
AND (
wp_posts.post_status = "publish"
)
ORDER BY wp_postmeta.meta_value DESC
LIMIT 0, 10
Soweit so gut.
Nun will ich aber nur die Einsätze rausholen, welche die SanKp (meta_key = sankp) geleistet hat.
Wie frage ich die Tabelle wp_postmeta zweimal ab? Zum einen benötige ich den Wert meta_value von meta_key "datumzeit", um die Einsätze chronologisch zu sortieren, anderseits benötige ich den Wert meta_key aber auch, um nur die Daten mit sankp auszulesen.
Hat jemand eine Idee?
Ich steh grad auf dem Schlauch und komme nicht weiter.
Ich habe zwei Tabellen (ist von Wordpress so vorgegeben). In der einen sind Einsätze und in der anderen sind die Metadaten zum Einsatz. Also wer, wann, wo etc.
Einfach dargestellt sieht das ganze so aus.
wp_posts
+----+-----------------+-----------------+-----------------+-----------------+
| ID | post_title | post_status | post_name | post_type |
+----+-----------------+-----------------+-----------------+-----------------+
| 1 | Einsatz #1 | publish | einsatz1 | fweinsatz |
| 2 | Einsatz #2 | publish | einsatz2 | fweinsatz |
| 3 | Einsatz #3 | publish | einsatz3 | fweinsatz |
| 4 | Einsatz #4 | publish | einsatz4 | fweinsatz |
| 5 | Einsatz #5 | publish | einsatz5 | fweinsatz |
| 6 | Einsatz #6 | draft | einsatz6 | fweinsatz |
| 7 | irgendwas | publish | irgendwas | blalabla |
wp_postmeta
+-----------+--------------+-----------------+---------------------+
| meta_id | post_id | meta_key | meta_value |
+-----------+--------------+-----------------+---------------------+
| 1 | 1 | datumzeit | 2018-01-01 00:00 |
| 2 | 1 | sankp | Kleinalarm |
| 3 | 2 | datumzeit | 2018-01-02 00:00 |
| 4 | 2 | sankp | Bagatellgruppe |
| 5 | 3 | datumzeit | 2018-05-05 00:00 |
| 6 | 3 | kpnord | Kleinalarm |
| 7 | 4 | datumzeit | 2018-03-18 00:00 |
| 8 | 4 | sankp | Kleinalarm |
| 8 | 4 | kpnord | Kleinalarm |
Um nun alle Einsätze abzufragen und zu sortieren nutze ich dieses SQL Statement:
SELECT wp_posts.*, wp_postmeta.*
FROM wp_posts
INNER JOIN wp_postmeta ON wp_postmeta.post_id = wp_posts.ID
AND wp_postmeta.meta_key ="datumzeit"
WHERE (
wp_posts.post_type = "fweinsatz"
)
AND (
wp_posts.post_status = "publish"
)
ORDER BY wp_postmeta.meta_value DESC
LIMIT 0, 10
Soweit so gut.
Nun will ich aber nur die Einsätze rausholen, welche die SanKp (meta_key = sankp) geleistet hat.
Wie frage ich die Tabelle wp_postmeta zweimal ab? Zum einen benötige ich den Wert meta_value von meta_key "datumzeit", um die Einsätze chronologisch zu sortieren, anderseits benötige ich den Wert meta_key aber auch, um nur die Daten mit sankp auszulesen.
Hat jemand eine Idee?