ColdFusion 8 を使用して会社の Web サイトを開発しており、別のテーブル ( ) に一致するものがないテーブル ( )からレコードのリスト (clientname
フィールドのみ) を返し、エンド ユーザーに追加を促す目的で使用したいと考えています。それらの会社の料金表。例:dbo.clients
dbo.fees
dbo クライアント
CLIENT_ID CLIENT_NAME
1 Joe's Diner
2 Save-a-Lot
3 Family Meds
4 DiFazio's
dbo.fees
CID CLIENT_NAME FEE
1 Joe's Diner 25.000
2 Save-a-Lot 35.000
4 DiFazio's 30.000
私が望むのは、上記のテーブル/データの場合、テーブルに料金がリスト/レコードされていないため、clientid/clientname 3/Family Meds のみを返す結果セットですdbo.fees
。私のDBはMSSQL 2005です。私のクエリは次のとおりです。
SELECT clientid
FROM clients
INNER JOIN fees
ON clients.clientid <> fees.cid;
これは、50,000 以上の結果のデカルト積を返します。LEFT/RIGHT OUTER JOIN
still を使用すると、デカルト積が得られ、エントリがあるかどうかに関係なく、DISTINCT
すべてのレコードが返されます。私は何を間違っていますか? dbo.clients
dbo.fees
ps また、注意してください: 私の前の管理者は明らかにクライアント/料金テーブル間の PK/FK 関係を設定しなかったため、それに依存する可能性のあるクエリ構文はこの状況では機能しない可能性があります。おそらく、関連するフィールドの値のみに基づいて機能する必要があります。