1

作成した SQL データベースをテストしようとしています。そのために、アイテムとブランドの 2 つのテーブルを用意しました。アイテムはブランド名を含むさまざまなフィールドを格納し、ブランドは名前を含む他のフィールドを格納します。アイテムの各ブランドについて、ブランド テーブルに対応する名前があることを確認したいと思います。どうすればいいですか?私は次のようなことを考えました:

"for each row in items"
if (count(select * from items join brands on items.brand = brands.name) == 0, select items.name, '');

しかし、forステートメントを含める方法がわかりません...何かアイデアはありますか?

4

3 に答える 3

4

これを試すことができます:

SELECT items.name 
FROM items LEFT JOIN brands
    ON items.brand = brands.name
WHERE brands.name IS NULL
ORDER BY items.name

このクエリを使用すると、項目テーブルからすべてのレコードを取得し、対応するブランド レコード (存在する場合) と結合し、最後にブランドに対応するレコードを持たないレコードを取得します。

于 2012-04-12T17:31:46.283 に答える
1
 DECLARE @Number int;
 SET @Number = 50;
 IF @Number > 100
  PRINT 'The number is large.';

ELSE BEGIN IF @Number < 10 PRINT '数字が小さいです。'; ELSE PRINT '数値は中程度です。'; 終わり ; 行く

于 2013-01-17T10:16:56.903 に答える