mysql select en innerjoin

Hieronder de situatie waarin je met een MYSQL commando gegevens uit een tabel wilt hebben waarvan.

Het tweede voorbeeld geeft een goede indruk van de werking van innerjoin.

Als je mysql wilt gebruiken om in wordpress alle admingebruikers weer te geven kan dit met de volgende tekst:

Selecteer alle admin users

select ID, user_login, user_email
FROM wp_users
WHERE ID IN
(SELECT user_id
FROM wp_usermeta
WHERE meta_key="wp_user_level"
AND meta_value="10")

Geef de id, login en email weer
uit de wp_userstabel
waar de id voorkomt
in wp_usermeta tabel
waar in de regel meta_key ‘wp_user_level’ is en
de meta_value kolom een waarde 10 heeft.

Innerjoin – combineer twee tabellen

SELECT u.ID, u.user_login, u.user_email, m.meta_key, m.meta_value
FROM wp_users AS u
INNER JOIN wp_usermeta AS m
ON u.ID = m.user_id AND m.meta_key = "wp_user_level" AND m.meta_value="10";

Geef de id, login, email, meta_key en meta_value  weer
uit de wp_users benoemd als u
in een kruisvergelijking met wp_usermeta benoemd als m
in wp_usermeta tabel
waar in de regel meta_key ‘wp_user_level’ is en
de ids overeenkomen en de metakey is wp_user_level en de waarde 10 heeft

Nog meer tabellen

SELECT p.ID, p.post_excerpt, p.post_status, pm.meta_value, oi.order_item_name 
FROM wpsz_posts AS p 
INNER JOIN wpsz_postmeta AS pm ON p.ID = pm.post_id 
INNER JOIN wpsz_woocommerce_order_items AS oi ON p.ID = oi.order_id 
where p.post_type = 'shop_order' 
AND oi.order_item_name LIKE '%isoniazide%' 
AND pm.meta_key = '_shipping_country' 
AND pm.meta_value = 'NL'

 

One Comment

wonder32

Copy en paste werken helaas niet met bovenstaande codes:

Reden de aanhalingstekens (“) worden niet goed overgenomen.

Het is alleen de laatste regel dus copy en paste kan wel maar vervang de ” door ” en ? door ” in de laatste regel.

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.