CREATE TABLE users (
userid INT(11) NOT NULL,
email VARCHAR(255) NOT NULL,
phone VARCHAR(20) NOT NULL,
PRIMARY KEY (userid)
);
INSERT INTO users (userid, email, phone)
VALUES
(1, 'lewn@example.com', '667790897'),
(2, 'hen@example.com', '4477905534');
CREATE TABLE usersmeta (
metaid INT(11) NOT NULL AUTO_INCREMENT,
userid INT(11) NOT NULL,
metakey VARCHAR(255) NOT NULL,
metavalue VARCHAR(255) NULL,
PRIMARY KEY (metaid)
);
INSERT INTO usersmeta (userid, metakey, metavalue)
VALUES
(1, 'city', 'Georgia'),
(1, 'address', '9 road park avenue'),
(2, 'state', 'Wymoing'),
(1, 'country', 'United States'),
(2, 'city', 'Sheridan'),
(1, 'state', 'Georgia'),
(2, 'country', 'United States'),
(1, 'gender', 'Male'),
(2, 'age', '35');
The data in the usermeta can be endless and in no particular order on entry, userids are repeatative.
// Get users
$users = "SELECT * FROM users";
// Get usersmeta
$usersmeta = "SELECT * FROM usersmeta";
Then start merging the data so as to have userid have accurate data from the usersmeta table where the userid occurred.
// i have tried
$sql = "SELECT * FROM users OUTER JOIN usersmeta ON users.userid = usersmeta.userid";
The results from join still leaves me with a loop