2013-12-18 67 views
0

我有兩個表,富和酒吧,都具有相同的模式和行類型PostgreSQL的兩個臨時表中選擇每一行,並比較它們的值

Table1 

name varchar 
id int 
age int 

美孚包含300條記錄,以及酒吧包含100條記錄。是否有select語句可以讓我將Foo中的每一行與bar中的每一行進行比較,以確定foo.age> bar.age?所以,如果它在Java中是一個for循環,將是這個樣子:

for(int i = 0; i < Foo.length; i++){ 
    for(int j = 0; j < Bar.length; j++){ 
     //Select here if foo[i].age > bar[j].age 
    } 
} 

編輯跟進問:

如果我有一個叫做「foobar的」臨時表,以相同的模式在「表1'我如何將行插入到只包含foo的一部分的foobar到臨時表中。例如在Java中:

List list = new LinkedList<Table1> 
for(int i = 0; i < Foo.length; i++){ 
    for(int j = 0; j < Bar.length; j++){ 
     if(foo[i].age > bar[j].age){ 
      list.add(foo[i]); 
     } 
    } 
} 

回答

1
select * 
from foo 
    cross join bar 
where foo.age > bar.age 
+0

謝謝你的工作!你可以看看後續問題,也許你可以提供幫助。 –

0
select * from foo cross join bar where foo.age > bar.age 

會做到這一點,但我不知道爲什麼你要比較一個輸入項和其他表中的每個條目。

相關問題