selectステートメントを作成しようとしています
あるテーブルから、別のテーブルで使用されているのと同じコードと等しいレコードを収集する必要があります。
より適切に言えば、クライアントはドロップダウン リストから都市とその都市のカテゴリを選択します。クライアントが [次へ] をクリックすると、そのカテゴリに該当するその都市のさまざまな場所が表示されます。しかし、どこが間違っているのかわかりません。
クライアントが都市を選択すると、都市ごとに読み取られる 2 つのレコード、適切な都市コード、および最初の文字が「bx」である私書箱コードが存在するようになりました
私の最初のクエリでは、重複を排除するために、
select c.[Description] from city c
where c.Provincecode like 'EC' and
c.citycode in (select c.citycode from City c
where SUBSTRING(c.citycode,0,3) not like 'bx')
それは私に1つの都市名を与えます.
ただし、クライアントがたとえば現金のみの場所を選択した場合、結果には 1 つのレコードのみが表示されます。
しかし、できる限り試してみてください。正しい構文を取得できません
私はもう試した:
select c.[Description] from city c
where c.Provincecode like 'EC' and
c.citycode in (select c.citycode from City c
where SUBSTRING(c.citycode,0,3) not like 'bx')
and exists (select * from Customers cu
where cu.Category like 'SC' and cu.Province like 'EC')
しかし、それは予想以上の結果をもたらします
これは access データベースを使用して行われますが、SQL を使用してコーディングを行い、それを access に書き直しています。それは問題ではありません
誰かがSQLの答えを提供してくれれば、私はそこから残りを行うことができます
参加するべきかどうかわかりません。私は試しました
select * from
(select c.[Description] from city c
where c.Provincecode like 'EC' and
c.citycode in (select c.citycode from City c
where SUBSTRING(c.citycode,0,3) not like 'bx')) x
join Customers on province=city.provincecode where Category like 'SC'
しかし、マルチパート識別子をバインドできませんでしたというエラーが表示されます
編集
これが新しいクエリです
select *
from
(
select c.*
from city c
where c.Provincecode like 'EC'
and c.citycode in
(
select c.citycode
from City c
where SUBSTRING(c.citycode,0,3) not like 'bx'
)
) x
join
Customers
on province=x.Provincecode
where Category like 'SC'
返されるのは
ご覧のとおり、C Strydom を顧客とする結果が多すぎますが、すべての都市が存在します。
この特定の例では、1 つのレコードのみを表示する必要があります。