2012-02-08 45 views
0

选择,我有以下数据结构:SQL两个表

TABLE requirements 
ID 1, AGE 1, GENDER 1, USERID 1 
ID 2, AGE 1, GENDER 2, USERID 2 
ID 3, AGE 1, GENDER 2, USERID 3 


TABLE offers 
IDoffers 1, AGE 1, GENDER 2, USERID 1 
IDoffers 2, AGE 1, GENDER 1, USERID 2 
IDoffers 3, AGE 1, GENDER 1, USERID 3 

我需要选择表的行要求 - 这条线用于从表中选择数据的提供参数。在周期中。

SELECT * FROM报价WHERE(ID1 ... IDX从需求)

我需要这样的结果:

FOR ID 1 FROM TABLE requirements - RESULT FROM offers: 
IDoffers 2, AGE 1, GENDER 1, USERID 2 
IDoffers 3, AGE 1, GENDER 1, USERID 3 

FOR ID 2 FROM TABLE requirements - RESULT FROM offers: 
IDoffers 1, AGE 1, GENDER 2, USERID 1 

FOR ID 3 FROM TABLE requirements - RESULT FROM offers: 
IDoffers 1, AGE 1, GENDER 2, USERID 1 

回答

3
SELECT 
    rquirements.ID, 
    offers.* 
FROM 
    requirements 
    INNER JOIN offers ON requirements.AGE=offers.AGE 
    AND requirements.GENDER=offers.GENDER 

循环通过所有要求。如果您想要特殊要求,请添加

WHERE rquirements.ID=<whatever>