这个查询该怎么写?
表A
ID AName
表B
BID BName AID
在表B中,AID可能为0,大于0的时候,则是对应了表A中的具体记录
我现在需要在查询表B的时候,把AID大于0的时候表A中的AName读取出来,同时也把AID为0的时候记录也读取出来。
Select BID,BName,AID,AName From TableA,TableB Where AID = ID
这样可以把AID大于0的读出来,但是等于0的就没有办法调用出来了?
请问怎么写?
[解决办法]
Select BID,BName,AID,AName From TableB ,(Select ID,AName from TableA union select 0 as id ,null as AName from TableA ) A Where AID = ID