主题:  这个查询怎么写??

让你笑了

职务:普通成员
等级:1
金币:0.0
发贴:14
注册:2001/10/30 22:01:46
#12002/9/15 11:21:27
两个表,一个TRADE,一个EXTTRADE
用户选择一个类别并填写一些信息后写如到TRADE,类别对应的是SCATAid
用户可以选择其他的类别,之后写如到EXTTRADE,类别对应是SCATAID,信息ID对应的是TRADE中才填写的那个信息的ID,
现在我想把选择一个SCATAID=8的所有信息,就是说在TRADE中SCATAID=8,在EXTTRADE中SCATAID=8,之后取得全部的信息ID
该如何写啊???
我写的是
select * from trade,exttrade where (trade.scataid=8 or (exttrade.scataid=8 and exttrade.tradeid=trade.id))
其中,TRADEID为EXTTRADE中信息的ID
ID为TRADE中信息的ID
用这个查询,总是出现好多重复的记录,该如何写??
同一个信息在TRADE中的SCATAID与EXTTRADE中的SCATAID不会相同!!

急,在线等,谢先!!



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#22002/9/16 17:19:15
用distinct这个关键字好,可以剔除重复的记录



5D荣誉版主

职务:普通成员
等级:2
金币:10.0
发贴:658
注册:2000/11/13 10:22:37
#32002/9/16 17:19:34
SELECT *
FROM trade CROSS JOIN
exttrade
WHERE (trade.scataid = 8) OR
(exttrade.scataid = 8) AND (exttrade.tradeid = trade.id)



5D荣誉版主

职务:普通成员
等级:2
金币:10.0
发贴:658
注册:2000/11/13 10:22:37
#42002/9/16 17:20:32
我只是翻译你那段SQL