Antworten auf deine Fragen:
Neues Thema erstellen

SQL Abfrage

AxelM

Nicht mehr ganz neu hier

Hallo,
ich habe folgendes Problem:

in meiner Tabelle wp_postmeta sind einen Haufen Infos als meta_key und meta_value gespeichert.
in meta key befinden sich 3 für die Sache relevante infos:
1. meta_key = '_productvideo'
2. meta_key = 'productvideoX' X ist eine beliebige natürliche Zahl inklusive 0
3. meta_key = 'productvideonameX' X ist eine beliebige natürliche Zahl inklusive 0

Jedes X kommt 0 bis 2 Mal in der Tabelle vor (productvideoX und möglicherweise productvideonameX)

im endeffekt hätte ich am Ende gerne einen Array mit allen X.
Ich hab da ne Abfrage gebaut, die nicht funzt.
SELECT * FROM wp_postmeta WHERE post_id = '47' AND meta_key LIKE '%productvideo%' AND NOT (meta_key LIKE '%name%') AND NOT (meta_key LIKE '%_%')

Aber selbst, wenn sie gehen würde, wäre Sie vermutlich nicht der Ausbund an Performance.
Ich wäre schon wesentlich weiter, wenn eine Abfrage rauskäme, die alle , aber auch NUR productvideoX erfasst.

Dank schonmal für eure Antworten
 

Duddle

Posting-Frequenz: 14µHz

Ich verstehe deinen Ansatz nicht, möglicherweise fehlen da zusätzliche Informationen. Wenn du alle Zeilen haben willst, die "productvideo%" als meta_key haben, schreibst du schlichtweg
Code:
SELECT * FROM wp_postmeta WHERE metay_key LIKE "productvideo%";
Oder willst du die tatsächlich existenten Werte für X haben?

Duddle
 

Greenhorn79

Nicht mehr ganz neu hier

Hallo AxelM,

wenn ich die richtig verstehe willst du alle x aus dem meta_key "productvideoX"? Das bedeutet, Du willst die Datensätze mit dem meta_key "_productvideo" oder auch "'productvideonameX" nicht im Ergebnis? Ich würde mit einem Substring arbeiten.

Auf die Schnelle und ungeprüft etwas wie SELECT * FROM wp_postmeta WHERE post_id = '47' AND meta_key LIKE '%productvideo%'
und dazu noch ergänzen dass der substr von meta_key mit einer bestimmten Länge nicht "_productvideo" und der substr mit der anderen Länge nicht "productvideoname" sein darf.

Viele Grüße
Micha
 

rafoldi

Aktives Mitglied

Wenn Du alle Worte wie "_productvideo" etc. durch nichts mit Replace ersetzt dann bleiben doch nur noch die Natürlichen Zahlen übrig, oder?
Danach würde ich nur noch mit einem between arbeiten, siehe
Beispiel
where replace(meta_key, '_productvideo', '') between 1 and 9

Replace gibt es für verschiedene Datenbanken.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.066
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben