我在PHP应用程序中使用了两个表,我想要newLista中的所有行,而oldLista中不存在的所有行,都具有相同的结构
id | vinculo | tipo_dni | numero_dni |阿彼里多| nombre | fech_nac | sexo | numero_tit | ABM |方便
我已经尝试使用RIGHT JOIN,但是它不会显示任何结果:
SELECT *
FROM newlista a
RIGHT JOIN oldlista b ON a.numero_dni = b.numero_dni
WHERE b.numero_dni IS NULL
我使用的代码是这样的:
SELECT *
FROM newlista AS a
WHERE NOT EXISTS (
SELECT *
FROM oldlista AS b
WHERE a.numero_dni=b.numero_dni AND a.apellido = b.apellido
)
ORDER BY a.apellido ASC
但是它不断向我显示一些具有完全相同的numero_dni
和相同的apellido
答案 0 :(得分:1)
select * from newlista
minus
select * from oldlista
答案 1 :(得分:0)
在这种情况下:
select *
from newlista
where numero_dni not in (select numero_dni
from oldlista)
and apellido not in (select apellido
from oldlista)
答案 2 :(得分:0)
此代码应执行您想要的操作:
prod_dfs = []
product_price_files = glob.glob('files/product_price/*.xlsx')
for c_file in product_price_files:
temp_df = pd.read_excel(c_file,encoding = "utf-8")
temp_df = self.preprocess_price_file(temp_df)
prod_dfs.append(temp_df)
prods_df = pd.concat(prod_dfs)
prods_df['Test'] = prods_df['My Column']
return prods_df
这基本上是您的查询。
如果看到重复项,这是因为 look 值相同但不相同。有些问题很容易解决。其他人更难。以下是一些示例:
SELECT a.*
FROM newlista a
WHERE NOT EXISTS (SELECT 1
FROM oldlista a2
WHERE a2.numero_dni = a.numero_dni AND a2.apellido = a.apellido
)
ORDER BY a.apellido ASC;
来解决。