2016-06-07 3 views
1

Ich habe eine Abfrage, die 2 Tabellen verbinden muss.MySQL-Abfrage, wie frage ich das?

Aktivität Tabelle:

activity.id: 334 
activity.user_id: 14 
activity.type: quiz_evaluated 
activity.item_id: 2968 
activity.secondary_item_id: 3006 
activity.date_recorded: 2016-05-25 15:07:14 

Postmeta Tabelle:

postmeta.meta_id: 7856 
postmeta.post_id: 3006 
postmeta.meta_key: quiz_questions14 
postmeta.meta_value: a:2:{s:4:"ques";a:4:{i:0;s:4:"2972";i:1;s:4:"2974".. 

Und hier ist das, was ich brauche:

SELECT activity.item_id as course_id, 
    postmeta.meta_value as quiz_data 
FROM wp_bp_activity as activity 
JOIN wp_postmeta as postmeta 
    ON postmeta.post_id = activity.secondary_item_id 
WHERE activity.type = 'quiz_evaluated' 
    AND 'quiz_questions'+activity.user_id = postmeta.meta_key 

Aber die Sache ist, dass postmeta.post_id nicht eindeutig ist und ich müsste 2 Variablen bestätigen, postmeta.post_id und postmeta.meta_key (was ist 'quiz_question' + activity.user_id), um eine einzelne Zeile aus der Datenbank zu erhalten.

Wie kann ich das erreichen?

PS .: Ich bin im Moment innerhalb Wordpress

Antwort

2

Verwenden concat

SELECT activity.item_id as course_id, 
    postmeta.meta_value as quiz_data 
FROM wp_bp_activity as activity 
JOIN wp_postmeta as postmeta 
    ON postmeta.post_id = activity.secondary_item_id 
WHERE activity.type = 'quiz_evaluated' 
    AND concat('quiz_questions',activity.user_id)= postmeta.meta_key 
+0

tun arbeitete ich denke, es ist, danke! – William

Verwandte Themen