Home > Back-end >  query from multiple tables with python or SQLite
query from multiple tables with python or SQLite

Time:12-19

I have three numeric tables with different row number, for an example:

tableA
1
8
tableB
10
23
15
80
tableC
500
200
180

And I want to find out something like: A-B C < 200

so the answer is

answer
1,10,180
1,15,180
8,10,180

Is there any ways to do this?

pandas.DataFrame.query and numpy.where seems only work on single table

CodePudding user response:

First use cross join, so possible filter one final DataFrame:

df = df1.merge(df2, how='cross').merge(df3, how='cross').query("tableA-tableB tableC < 200")
print (df)
    tableA  tableB  tableC
1        1      10     200
2        1      10     180
4        1      23     200
5        1      23     180
7        1      15     200
8        1      15     180
10       1      80     200
11       1      80     180
13       8      10     200
14       8      10     180
16       8      23     200
17       8      23     180
19       8      15     200
20       8      15     180
22       8      80     200
23       8      80     180
  • Related