从两个sql表中选择字段

从两个sql表中选择字段,sql,tsql,select,Sql,Tsql,Select,我使用以下查询从数据库中选择记录 目前它运转良好 select Barcode,systemqty from items where barcode in (select itibar from itrans group by itibar having sum(itiqty) <> systemqty) and brand='BRO' 现在,我需要从itrans表中选择另一个字段,如下所示 select Barcode,systemqty,itibar from ite

我使用以下查询从数据库中选择记录

目前它运转良好

select Barcode,systemqty from items where barcode in 
(select itibar from itrans group by itibar having sum(itiqty) <> systemqty) 
 and  brand='BRO'
现在,我需要从itrans表中选择另一个字段,如下所示

 select Barcode,systemqty,itibar from items where barcode in 
(select itibar from itrans group by itibar having sum(itiqty) <> systemqty) 
 and  brand='BRO'

上述代码会导致错误。

在您的示例中,由于Barcode=itibar,您可以只包含Barcode

select Barcode,
        systemqty, 
        barcode as itibar 
from items 
where barcode in 
(
select itibar 
from itrans 
group by itibar 
having sum(itiqty) <> systemqty

) 
and  brand='BRO'
或者,您可以将其更改为联接,以允许您在select语句中从itrans访问更多列:

select Barcode,
        systemqty, 
        itibarrows.itibar 
from items 
inner join (
    select itibar 
    from itrans 
    group by itibar 
    having sum(itiqty) <> systemqty
    ) itibarrows
    on itibarrows.itibar = items.barcode
where brand='BRO'