Je suis en train de construire une requête simple pour obtenir des utilisateurs dans des domaines particuliers meta (ce qui est dans Wordpress, mais n'a pas d'importance parce que c'est sql brut)MySQL joindre des lignes vides
Une requête simple je l'ai fait des regards comme celui-ci
SELECT * FROM wp_sb_users u
LEFT OUTER JOIN wp_sb_usermeta m ON (u.ID=m.user_id)
LEFT OUTER JOIN wp_sb_usermeta mm ON (u.ID=mm.user_id)
LEFT OUTER JOIN wp_sb_usermeta mmm ON (u.ID=mmm.user_id)
WHERE
m.meta_key = "autostatus" AND
mm.meta_key = "first_name" AND
mmm.meta_key = "last_name"
si je ne dispose que d'une petite difficulté - si mmm.meta_key = "last_name"
n'existe pas du tout, la ligne ne sera retournée .. je l'ai essayé mmm.meta_key <=> "last_name"
mais il prend tout autre meta_key (comme « user_email ») et met en ligne, ce qui résulte en avoir un utilisateur avec le prénom Alex et le nom de famille [email protected]
J'ai aussi essayé (mmm.meta_key = "last_name" OU mmm.meta_key IS NULL), mais il ne fonctionne pas trop
Aidez-moi s'il vous plaît le découvrir
PS la structure des tables:
CREATE TABLE IF NOT EXISTS `wp_sb_users` (
`ID` bigint(20) unsigned NOT NULL auto_increment,
`user_login` varchar(60) NOT NULL default '',
`user_pass` varchar(64) NOT NULL default '',
`user_nicename` varchar(50) NOT NULL default '',
`user_email` varchar(100) NOT NULL default '',
`user_url` varchar(100) NOT NULL default '',
`user_registered` datetime NOT NULL default '0000-00-00 00:00:00',
`user_activation_key` varchar(60) NOT NULL default '',
`user_status` int(11) NOT NULL default '0',
`display_name` varchar(250) NOT NULL default '',
PRIMARY KEY (`ID`),
KEY `user_login_key` (`user_login`),
KEY `user_nicename` (`user_nicename`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=30 ;
CREATE TABLE IF NOT EXISTS `wp_sb_usermeta` (
`umeta_id` bigint(20) unsigned NOT NULL auto_increment,
`user_id` bigint(20) unsigned NOT NULL default '0',
`meta_key` varchar(255) default NULL,
`meta_value` longtext,
PRIMARY KEY (`umeta_id`),
KEY `user_id` (`user_id`),
KEY `meta_key` (`meta_key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=792 ;
s'il vous plaît expliquer ce que vous essayez d'accomplir ici, et peut-être inclure la structure des tableaux ci-dessus? Cela nous aidera à mieux vous aider. – BigFatBaby
Dites-nous ce que vous obtenez de cette requête et que voulez-vous recevoir –
désolé, ajouté la structure de table .. alors ce que j'essaie de faire est d'obtenir les utilisateurs avec leurs champs méta particuliers définis dans l'autre table, même si aucune méta le champ existe –