2017-12-24 16 views
0

pkfieldでリンクされた2つのリンクテーブルから情報を取得する必要があります。私は何をする必要があるかの基本的なレイアウトです:私は、.csvファイルにそのすべてをエクスポートしたいSQL Server 2012 Management Studio:選択、エクスポート、追加

ID and Type where Table A.Active is true 
ID is the link back to Table A (obviously) 

、:テーブルAから

:表Bから

Name, Year Active where active is true 
ID is the PK 

年を変更してから、新しいレコードとしてそれぞれのテーブルにAPPENDします。

これを行う方法についてのご意見はありますか?たぶん2つの別々のクエリですか?私はテーブルAのIDフィールドが自動的に生成されると信じています。 csvファイルにデータをエクスポートする

+0

返信いただきありがとうございます。私のテーブル構造をさらに調べると、私は次のことを発見しました。テーブルA列:MagID(PK)、MagCode、Year、Name、Parcel、Active。表B列:TypeID(PK)、MagID(表AのFK)、TypeCode、およびLastID。通常、データは、MagCode(表A)、TypeCode、Year(表A)、およびLastIDの形式で表Bに入力されます。したがって、各MagID/Yearの組み合わせには、TypeCodeとLastIDの2つのエントリがあります。例:MagID Fred、TypeCode XR、Year 2018、LastID 2008; MagID Fred、TypeCode LR、Year 2018、LastID 492.追加されると自動的に正しくリンクされますか? – MacLeod400

答えて

0

問合せ:

select Name,Year,Active,Type 
From tableA A JOIN tableB B on A.ID=B.ID 
Where A.Active=1 

あなたは年間変更した後、CSVの各行に対するクエリの下に書くことができます。

insert into tableA(Name,Year,Active) values(csvcol_Name,csvcol_Year,1) 
insert into tableB(ID,Type) values(@@Identity,csvcol_Type) 
0

実際に私はインポート/エクスポートウィザードを使用できます。私はちょうどそれが64ビットマシン上にあるので、64ビットのものを使う必要がありました。また、必要に応じて情報を変更してテーブルに貼り付けることができます。コードの必要はありません...これまでのところ。

更新:これは部分的にのみ該当することがわかります。私はテーブルBに問題なく正しい情報を得ることができますが、明らかにそれらのリンクを確立するフォームに情報を手動で入力しなくても、テーブルAに戻って正しいリンクを確立するにはどうすればいいですか?約550のレコードが2回入力されます。必要に応じて、集中データベースではありません。あるコンピュータではスイッチがオフになり、もう一方のスイッチではスイッチがオフになります。それらを組み合わせることはできません。だから...避けるにはどうしたらいいですか... 2台のマシン間で1100レコードを入力しなければならないのですか? SQL Management Studioからリンクを確立することはできますか?

関連する問題