2010-02-23 63 views
0

我有2个表需要帮助创建一个连接mysql的

表1

 
ID Status 
1 D 
2 F 
3 D 

表2

 

SID ID Approve 
1 1 N 
2 1 Y 
3 1 Y 
4 2 Y 

我需要一个查询来加入对ID 2个表和发现记录中在他们的批准栏中没有N个。有没有人有任何线索如何实现这一点?

回答

4
SELECT * FROM Table1 AS t1 
INNER JOIN Table2 AS t2 
ON t2.id = t1.id 
WHERE t2.Approve != 'N' 
+0

查询结果正在重复表1中的记录数量为其具有的子行数。问题是我只需要1个输出记录。如果我在{Y记录和N记录}组中添加分组,它会给出一条记录,但也会显示一条记录。任何想法? – Kris1511 2010-02-23 15:25:32

+0

你怎么知道你需要哪个孩子? – Jage 2010-02-23 15:31:35

0
SELECT DISTINCT t1.id,t1.status,t2.approve FROM Table1 AS t1 
INNER JOIN Table2 AS t2 
ON t2.id = t1.id 
WHERE t2.Approve != 'N' 

你不能有SELECT子句中的t2.sid但因为它会作废不同标准。