This is how I've been able to extract all of the relavant data into a single row for each user
record:
SELECT user_login, user_pass, user_email, user_registered,
meta1.meta_value AS billing_address_1,
meta2.meta_value as billing_address_2,
meta3.meta_value as billing_city,
meta4.meta_value as billing_first_name,
meta5.meta_value as billing_last_name,
meta5.meta_value as billing_postcode,
meta5.meta_value as billing_country,
meta5.meta_value as billing_state
FROM wp_users users,
wp_usermeta meta1,
wp_usermeta meta2,
wp_usermeta meta3,
wp_usermeta meta4,
wp_usermeta meta5,
wp_usermeta meta6,
wp_usermeta meta7,
wp_usermeta meta8
WHERE users.id = meta1.user_id
AND meta1.meta_key = 'billing_address_1'
AND users.id = meta2.user_id
AND meta2.meta_key = 'billing_address_2'
AND users.id = meta3.user_id
AND meta3.meta_key = 'billing_city'
AND users.id = meta4.user_id
AND meta4.meta_key = 'billing_first_name'
AND users.id = meta5.user_id
AND meta5.meta_key = 'billing_last_name'
AND users.id = meta6.user_id
AND meta6.meta_key = 'billing_postcode'
AND users.id = meta7.user_id
AND meta7.meta_key = 'billing_country'
AND users.id = meta8.user_id
AND meta8.meta_key = 'billing_state'
However, at this point (and I haven't even listed half of the meta data that needs to be extracted), phpMyAdmin is telling me that my JOIN
is too big ...
Is there a more efficient way of doing this?