0

私は次のような2つのテーブルを持っています

CREATE TABLE [dbo].[entry]
(
   [id] [int] NULL,
   [service] [int] NULL,
   [sub] [int] NULL
) 

値は、

id     service  sub
1        1       0
2        1       1 
3        1       2 

2番目の表は次のとおりです。

CREATE TABLE [dbo].[service]
(
   [service] [int] NULL,
   [sub] [int] NULL
) 

その値は次のとおりです。

service   sub
1          0
1          1

entryテーブルには3行あり、テーブルserviceには2行あります。テーブルにはないがserviceテーブルにはある行が欲しいentry

ありがとう

ベンカット

4

4 に答える 4

1

これを試して:

Select entry.id, temp.service, temp.sub from entry INNER JOIN 
(Select service, sub from entry 
Except
Select service, sub from service) as temp ON entry.service = temp.service AND entry.sub = temp.sub
于 2012-06-15T07:46:31.743 に答える
0

問題を解決する別の方法

  Select a.id,a.service,a.sub from @entry as a where not EXISTS 
 (select b.* from @service as b where a.sub = b.sub and a.service=b.service)
于 2012-06-15T08:21:12.683 に答える
0

を使用したコードの別のバリエーション。

select id, service, sub
from entry
except
select e.id, e.service, e.sub
from service as s left join entry as e
on s.service = e.service
and s.sub = e.sub
于 2012-06-15T13:22:49.727 に答える
0
SELECT
    entry.id
  , entry.service
  , entry.sub
FROM
    entry
LEFT JOIN SERVICE ON entry.service = service.service AND entry.sub = service.sub
WHERE
    entry.service IS NULL
    AND entry.sub IS NULL
于 2012-06-15T14:14:55.277 に答える