Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql从选择中查找子项_Sql - Fatal编程技术网

sql从选择中查找子项

sql从选择中查找子项,sql,Sql,我有以下客户详细信息表: Cnmbr, loc,group 10001 003 10003 015 10003 0001 10003 0002 10007 006 10009 003 10012 006 10012 0001 etc 我想查找003组和015组客户的所有客户详细信息(如果有,还包括他们的位置) 所以在这个例子中,结果应该是 Cnmbr, loc,group 10001

我有以下客户详细信息表:

Cnmbr,  loc,group
10001       003
10003       015
10003   0001    
10003   0002    
10007       006
10009       003
10012       006
10012   0001    
etc 
我想查找003组和015组客户的所有客户详细信息(如果有,还包括他们的位置)

所以在这个例子中,结果应该是

Cnmbr,  loc,group
10001       003
10003       015
10003   0001    
10003   0002    
10009       003
编辑

尝试使用此内部连接,但似乎不起作用

select *
from customers tbl1
where tbl1.group = '003' or tbl.tbl.group = '015'
inner join customers tbl2 on tbl1.Cnmbr = tbl2.Cnmbr
   and tbl1.loc <> tbl2.loc
选择*
来自客户tbl1
其中tbl1.group='003'或tbl.tbl.group='015'
tbl1.Cnmbr=tbl2.Cnmbr上的内部联接客户tbl2
和tbl1.loc tbl2.loc

使用
存在

SELECT *
FROM mytable AS t1
WHERE EXISTS (
  SELECT 1
  FROM mytable AS t2
  WHERE t1.Cnmbr = t2.Cnmbr AND `group` IN ('003', '015'))

您正在使用哪些数据库管理系统?博士后?Oracle?为什么返回第3行(10003 0001)和第4行(10003 0002)?Jarlh,因为第2行(客户编号10003)在组015中,那么客户编号10003的所有位置都应显示在结果BMS中:从Lotus Notes服务器到IBM iSeries的odbc连接您的“内部连接”位置错误。“where”子句必须出现在任何联接之后。SQL不起作用,因为在联接之前有where子句。谢谢Giorgos。我不得不在t2.group中更改'group',然后它对我起了作用。我的服务器似乎不明白“@MarcJonkers Backticks”在MySQL中用作字段名delimeters。当我发布答案时,我以为你正在使用MySQL。很高兴我能帮助你!