首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

请问这样的mysql语句如何写

2012-03-07 
请教这样的mysql语句怎么写?有两个表问题一:表A里面有有一个字段是item_id包含一些项表B里面也有一个字段

请教这样的mysql语句怎么写?
有两个表  

问题一:

表A里面有   有一个字段是item_id   包含一些项
表B里面也   有一个字段是item_id   包含一些项

我想找到所有的item_id的值,   这些值存在于表A里面,   但是不存在于表B中
请问怎么写?


问题二:
表A里面有   有一个字段是item_id   包含一些项
表B里面也   有一个字段是item_id,还有一个字段是item_value   包含一些项

我想找到所有的item_id的值,   这些值存在于表A里面,   但是不存在于表B中,   或者即使存在于表B中,其对应的item_value   均   <3

注意   表B的item_id不是唯一的,即可能存在这种情况

item_id           item_value
10020                     1
10020                     3
10020                     2
10021                     3
10021                     0

所以找到的item_id的值,只要有一项对应的item_value   > =3   就不复合条件了

请问这个sql语句怎么写,谢谢!

[解决办法]
问题一。 select item_id from A where item_id not in (selet item_id from B)
问题二。 select item_id from A where item_id not in (select item_id from b) union select item_id
from a ,b where a.item_id =b.item and a.item_value <3
[解决办法]
问题2: try
select item_id from a where item_id not in (select item_id from B)
union
select item_id from a where item_id in(
select bb.item_id from(
select max(item_value) aa, item_id from B group by item_id having aa <3)bb);
[解决办法]
1、

SQL code
select A.item_id  from A left join B using(item_id) where B.item_id is null; 

热点排行