假如有4个表 user cart a b 这些表没有关系
user表有字段 id username pwd rose
cart表有字段 id title content adddate
a表有字段 b c d
b表有字段 e f g 其中user表跟cart表有数据 a 跟b 表没数据
我要实现一个查询 查询前两个表的所有字段,查询a表的 b 字段 b表的 g字段 注意 a表跟b表就算没有数据 但还是要把字段值显示出来
例:
id username pwd rose title content adddate b g
1 admin admin admin c编程 谭浩强 2010-10-10
2 a a user c# c#编程 2010-10-10
假如b或者g 有值 那么得显示出来
id username pwd rose title content adddate b g
1 admin admin admin c编程 谭浩强 2010-10-10
2 a a user c# c#编程 2010-10-10
3 b b user c++ C++编程 2011-11-11 a a
SELECT user.id,user.username,user.pwd,user.rose,cart.title, cart.content,cart.adddate,a.b,b.g
FROM user CROSS JOIN cart CROSS JOIN a CROSS JOIN b (这是本人做的,用做参考,不过这种方法不能把null显示出来,确切的说,加入后面的两个字段,干脆什么都查不出) 求高手指点!
user表有字段 id username pwd rose
cart表有字段 id title content adddate
a表有字段 b c d
b表有字段 e f g 其中user表跟cart表有数据 a 跟b 表没数据
我要实现一个查询 查询前两个表的所有字段,查询a表的 b 字段 b表的 g字段 注意 a表跟b表就算没有数据 但还是要把字段值显示出来
例:
id username pwd rose title content adddate b g
1 admin admin admin c编程 谭浩强 2010-10-10
2 a a user c# c#编程 2010-10-10
假如b或者g 有值 那么得显示出来
id username pwd rose title content adddate b g
1 admin admin admin c编程 谭浩强 2010-10-10
2 a a user c# c#编程 2010-10-10
3 b b user c++ C++编程 2011-11-11 a a
SELECT user.id,user.username,user.pwd,user.rose,cart.title, cart.content,cart.adddate,a.b,b.g
FROM user CROSS JOIN cart CROSS JOIN a CROSS JOIN b (这是本人做的,用做参考,不过这种方法不能把null显示出来,确切的说,加入后面的两个字段,干脆什么都查不出) 求高手指点!
left join
cart on user1.id=cart.id
left join a on a.id=user1.id
left join b on b.id=user1.ida表和b表加了个id字段
当然,如果确实没数据,就不要用后面的表了,b=‘’,g=‘’就解决问题了,或者是'' as b,'' as g,效果一样。