0

私は2つのテーブルtblSiteVisitsとtblConformedListとColumsを以下のように持っています

tblSiteVisits

   名前| 電子メールアドレス   

tblConformedList

   名前| メールアドレス| ContactNo | 場所| Conform_Status

最初のテーブルには、SiteVisitsを持っているすべての人の名前とEメールアドレスが含まれています

2番目のテーブルでは、サイト訪問の時点でのクライアントの可用性に基づいて、Conform_Statusが1または0に設定されます。

そうでない場合は、ContactNoとLocationを入力し、Conform_Status=0でテーブルを更新します。

ここで必要なのは、joinのEmailAddressとConform_Statusが0のtblConformedListの行を関連付けて、テーブルtblSiteVisitsとtblConformedListから人の名前とEmailAddressを取得することです。

これは、更新のためにContactNoとLocationを指定したが、Conform_Statusを指定していないユーザーのリストです。

前もって感謝します

4

2 に答える 2

1

それはあなたを助けるかもしれません。

 select t1.* from tblSiteVisits t1 inner join tblConformedList t2 on  
 t1.EmailAddress=t2.EmailAddress where t2.Conform_Status=0

それを試して、フィードバックを共有してください。

于 2012-07-26T06:59:44.737 に答える
0

申し訳ありませんが、が0の行のみが必要な場合は、は必要ありません。が必要です。Conform_StatusLEFT JOININNER JOIN

SELECT v.* 
FROM tblSiteVisits v 
JOIN tblConformedList c 
ON v.EmailAddress = c.EmailAddress 
WHERE c.Conform_Status=0

c.Conform_Status=0NULLのある行を含め、0以外のすべての行がフィルターで除外されるため、tblSiteVisits対応する行がない行はtblConformedListとにかくフィルター処理されます。したがって、を使用するだけINNER JOINです。

すべての行のエントリが必要な場合は、左結合するか、where句をon句に入れるか、whereOR Conform_Status IS NULL句にaを追加します。

SELECT v.* 
FROM tblSiteVisits v 
LEFT JOIN tblConformedList c 
ON v.EmailAddress = c.EmailAddress 
AND c.Conform_Status=0

これにより、の各行が表示されtblSiteVisits、可能であれば、のデータが表示されますが、実際にはが0のtblConformedList場合に限ります。Conform_Status

于 2012-07-26T07:04:26.797 に答える