2011-08-03 14 views
0

私は現在、私たちのクライアントのために小さなイベントを追跡できるWebサイトで作業しています。私はlinq-to-sqlとasp.netを使って構築しています。これまでのところ、サイトは約10ページ、表、イベント、クライアントはわずか2つしかありませんでした。私は以下の各テーブルの列を列挙しました:データベース質問(LINQ-to-SQL)

Events: 
-eventid 
-eventname 
-datecreated 
-details 
-datedue 
-status 
-clientname (this should be clientid) 
-sentemail 

Clients: 
-clientid 
-clientname 
-clientemail 
-clientphone 

私は2つのデータベーステーブル*を一緒に使用している問題を解決しました。理想的には、イベント名の表でclientnameをclientidに置き換えたいと思っています。

私はそれが前にこのように設定が、イベントをリストする際に問題に遭遇しました:

私はそれがクライアントIDに並置としてクライアント名を表示したいと思いイベントをリストアップしていた場合。残念ながら、私はASP.netにはかなり新しく、PHPで簡単に行うことはできますが、どうやって動作させるのか分かりません。それほど大きな問題ではありませんが、私はクライアントリストとイベントを別々に更新できるようにしたいと考えています。

申し訳ありませんが、これはほとんど意味がない場合は、混乱があれば私はそれをより良い言葉にしようとします。

*私の一部に訂正

+0

からクライアント名フィールドを削除するには、表には、別のデータベースに格納されていますか?私は「2つのデータベースを連携させるという問題がある」という声明と混同しています。イベントとクライアントが1つのデータベース内の2つのデータベーステーブルであれば、解決は簡単です。 – Josh

+0

あなたはあなたが何をしたいのかとは違った経験をしたことがありますか? –

+0

1つのデータベースに2つの異なるデータベースまたは2つの異なるテーブルがあります – Vinay

答えて

2

あなたのデータベースは、正規化持ってたら、Linq2Sqlコンテキストを作成し、あなたがこれに似たクエリを記述することができます(イベント名とそのクライアント名のリストを取得します) :あなたがする必要があるアンドリュー・ルイスの答えに加えて

var results = from e in dbContext.Events join c in dbContext.Clients on e.clientid equals c.clientid select new { e.eventname, c.clientname }; 
+0

これを一度試してください。IDを使用するように設定し直してください。 – Gordnfreeman

1

1)イベントテーブルに

2のClientIDフィールドを追加)が実行さClientIDフィールドを埋めるために、SQLクエリ:

update events set clientid = (select clientid from client where name = events.clientname) 

3)イベントテーブル

+0

これを返信いただきありがとうございます。 – Gordnfreeman

関連する問題