如何解决我想根据我的两个表获得数据透视结果
示例数据:
表:user_field_mapping
user_id | field_id | field_value |
---|---|---|
1 | 11 | 一 |
1 | 12 | b |
1 | 13 | c |
2 | 11 | x |
2 | 12 | y |
表:field_master
field_id | field_name |
---|---|
11 | fieldnamefor11 |
12 | fieldnamefor12 |
13 | fieldnamefor13 |
必填结果
user_id | fieldnamefor11 | fieldnamefor12 | fieldnamefor13 |
---|---|---|---|
1 | 一 | b | c |
2 | x | y | 空 |
这是我试过的...
SELECT d.user_id,d.value "fieldnamefor11"
FROM user_field_mapping d
LEFT
JOIN field_master f1
ON f1.fieldid=d.field_id
AND f1.name = 'fieldnamefor11'
LEFT
JOIN field_master f2
ON f2.id=d.field_id
AND f2.name = 'fieldnamefor12'
order
by user_id,field_id
解决方法
SELECT UFM.user_id,MAX(CASE WHEN UFM.field_id = 11 THEN UFM.field_value end) as fieldnamefor11,MAX(CASE WHEN UFM.field_id = 12 THEN UFM.field_value end) as fieldnamefor12,MAX(CASE WHEN UFM.field_id = 13 THEN UFM.field_value end ) as fieldnamefor13
FROM user_field_mapping UFM inner join
field_master FM ON UFM.field_id = FM.field_id
Group by UFM.user_id
和结果;
,您可以使用条件聚合来实现所需的结果 -
import requests
from bs4 import BeautifulSoup
import pandas as pd
for i in range(1,3):
url = "https://www.gittigidiyor.com/samsung-cep-telefonu?sf=" + str(i)
r = requests.get(url)
source = BeautifulSoup(r.content,"lxml")
liste = source.find_all('div',attrs={"class":"gg-w-24 gg-d-24 gg-t-24 gg-m-24 root-column padding-none"})
for url in liste:
all_hrefs = url.find_all('a',href=True)
for href in all_hrefs:
url_phone = "https:" + href['href']
print(url_phone)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。