[英]php Mysql Rows Merging from one table
Is there a way to merge only the last personal_id's where i have values in the columns? 有没有一种方法可以只合并我在列中有值的最后一个personal_id ?
Lets say Anderson with the p_id 2 get married and his name changes. 假设p_id为2的安德森结婚,他的名字改变了。
id p_id last_name job Hobby
1 1 Smith Programmer NULL
2 2 Anderson Influencer Reading
3 2 McKing Influencer NULL
4 3 Jordan Mother Cooking
5 1 Smith NULL Soccer
For example that i get: 例如,我得到:
p_id: 1 - Smith - Programmer - Soccer
p_id:1-史密斯-程序员-足球
p_id: 2 - McKing - Influencer - Readingp_id:2-麦金-有影响力的人-阅读
Thanks in advance. 提前致谢。
Update: 更新:
You guys are really strict. 你们真的很严格。
I have tried a couple of queries but i can't achieve my goal. 我已经尝试了几个查询,但是我无法实现我的目标。
SELECT * FROM table GROUP_BY p_id ORDER_BY id ASC
SELECT * FROM表GROUP_BY p_id ORDER_BY id ASC
SELECT t.last_name, t.job, t.hobby
FROM {THE_TABLE) as t
JOIN {THE_TABLE} as t2 on t2.p_id = t.p_id
WHERE t.job is not null
AND t.hobby is not null
CREATE TABLE QUEST (
id INT NOT NULL,
p_id INT NOT NULL,
last_name VARCHAR(50) NOT NULL,
job VARCHAR(50),
hobby VARCHAR(50));
INSERT INTO quest VALUES (1,1,'Smith','Programmer',NULL );
INSERT INTO quest VALUES (2,2,'Anderson','Influencer','Reading' );
INSERT INTO quest VALUES (3,2,'McKing','Influencer', NULL );
INSERT INTO quest VALUES (4,3,'Jordan','Mother','Cooking' );
INSERT INTO quest VALUES (5,1,'Smith',NULL,'Soccer' );
INSERT INTO quest VALUES (6,3,'Jordan','Mother','Cooking' );
INSERT INTO quest VALUES (7,4,'John',NULL,NULL );
INSERT INTO quest VALUES (8,5,'Mike','Test',NULL );
INSERT INTO quest VALUES (9,5,'Mick','Tester',NULL );
COMMIT;
SELECT q.p_id,
q.last_name,
(SELECT job FROM Quest WHERE job IS NOT NULL AND p_id = q.p_id ORDER BY id DESC LIMIT 1) job,
(SELECT hobby FROM Quest WHERE hobby IS NOT NULL AND p_id = q.p_id ORDER BY id DESC LIMIT 1) hobby
FROM Quest q
WHERE id IN (SELECT MAX(id) FROM Quest GROUP BY P_Id )
ORDER BY p_id;
Result:
p_id - last_name - job - hobby
1 - Smith - Programmer - Soccer
2 - McKing - Influencer - Reading
3 - Jordan - Mother - Cooking
4 - John - NULL - NULL
5 - Mick - Tester - NULL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.