2016-08-18 8 views
-1

共通の要素を持たない2つのテーブルから選択したい 私はこのコードを試していますが、 '、'の近くに不正な構文があります。CommonElementのない2つのテーブルから選択

select top 1 inventory.name, customer.name 
from inventory 
where inventor.name='test' , customer where customer.name='test2' 
+0

を以下のようなクエリを書くことができますので、次の2人の全く関係のない名前、インベントリから1、顧客からのものをしたいですか? – jarlh

答えて

1

これは2つのテーブルのデカルト積につながります。 (クロス結合)。

SELECT TOP 1 i.NAME 
    ,c.NAME 
FROM inventory i 
cross join customer c 
WHERE i.NAME = 'test' 
    AND c.NAME = 'test2' 
1

where句が条件のため,を使用していない、このようにしてみてください。条件を接続するには、andまたはorのどちらかを入力します。 joinも必要です。

だから、私はあなたが意図し考える:

select top 1 i.name, c.name 
from inventory i cross join 
    customer c 
where i.name = 'test' and c.name = 'test2'; 

通常、そこjoinためjoin条件となりますが、あなたの質問には、1を示唆していません。

select top 1 i.name, c.name 
from inventory i cross join 
    customer c 
    on i.customer_id = c.customer_id 
where i.name = 'test' and c.name = 'test2'; 

しかし、その後、再び、あなたはwhere句でname列を制限しているので、なぜだけでない:これは予想される

select 'test', 'test2'; 

と完全にテーブルを使用で済ましますか?

0

あなたは単に..希望あなただけのトップ1の列を必要とするoutput.Assumingため

SELECT (SELECT top 1 i.name 
     FROM inventory i 
     WHERE i.name = 'test') InventoryName, 
     (SELECT TOP 1 c.name 
     FROM customer c 
     WHERE c.name = 'test2') Customername 
関連する問題