2016-05-02 2 views
0

で更新しました。私は古いmySQLクエリをSQL Server 2008に変換できないようです。多くのexemples ive readはテーブル1からカラムを更新します表2に、単一の値は、私が使っていた古いMySQLのスクリプトが多くのフォーラムを読んで多くのexemplesを試した後、table2のデータをtable2

UPDATE stock.tbldesk_inv As T1 
inner JOIN stock.deskinvfix AS T2 ON T1.serial_number = T2.SN 
SET T1.location = T2.Location, 
T1.asset_number = T2.AssNumber, 
T1.department = T2.dept, 
T1.status = T2.Status, 
T1.first_name = T2.firstn, 
T1.last_name = T2.lastn; 
DELETE FROM stock.deskinvfix; 
SELECT * FROM stock.deskinvfix; 

は私が単にシンプルquerys

を再使用するテーブル名を変更することができ、それがイライラすることを見つけたので、私がすることはできません私のテーブルをT1やT2に変更すると、新しいクエリを実行するのが難しくなります。 personnaly私は私がmySQLにとどまっていればいいと思う。

UPDATE [InventoryDatabase].[dbo].[Hardware_Inventory] SET 
[InventoryDatabase].[dbo].[Hardware_Inventory].ComputerName = [InventoryDatabase].[dbo].[updatepcname].SCCMName 
FROM [InventoryDatabase].[dbo].[Hardware_Inventory] 
INNER JOIN [InventoryDatabase].[dbo].[updatepcname] ON [InventoryDatabase].[dbo].[Hardware_Inventory] 
WHERE [InventoryDatabase].[dbo].[Hardware_Inventory].SerialNumber = [InventoryDatabase].[dbo].[updatepcname].SCCMSerial 

誰でも私が使用していたmySQLクエリがSQLサーバに似ていない理由を教えていただけますか?

+0

私はいくつかのヒントは、あなたのクエリを読みやすくするために、より簡単に従うために、あなたのための答えを持っていません。 "rebrand"の意味を理解していれば、それは確かにSQL Serverで行うことができます。これは[テーブルエイリアス](technet.microsoft.com/en-us/library/ms187455(v = sql.105).aspx)と呼ばれます。 デフォルトであるため、InventoryDatabaseからクエリを実行する場合、テーブルを "[InventoryDatabase]"で修飾する必要はありません。デフォルトの所有者であるため、[[dbo]]を指定する必要はありません。 これらのことを試してみると、なぜSQL Serverがクエリを好まないのかを知ることができます。 – nscheaffer

+0

関連のないメモで、複数の段落を持つことができない、またはコメントにMarkdownを使用できないのはなぜですか?奇妙に思える。 – nscheaffer

+0

それは、このような単純なする必要がありますが、私は INNER FROM T1 SET T1.ComputerName = T2.SCCMName としてSQL Management Studioを 「UPDATE Hardware_Inventoryからinvaildオブジェクトを取得T1.SerialNumber = T2.SCCMSerial ON T2としてupdatepcnameを登録しよう' – GhislainJC

答えて

0

これは動作するはずです...

UPDATE T1 
SET T1.ComputerName = T2.SCCMName 
FROM Hardware_Inventory as T1 
INNER JOIN updatepcname as T2 ON T1.SerialNumber = T2.SCCMSerial 

ノエル

+0

私は最初にその質問を試してみましたが、まだ複数部分の識別子のエラーが出ていました。 IntelliSenseを無効にした後は、クエリが機能しました。なぜIntelliSenseが問題を引き起こすのか、私は少し混乱しています。 – GhislainJC

+0

非常に奇妙です。それについてはわからない。 – nscheaffer

+0

ありがとうございました。これは在庫データベースの一括編集に役立ちます。 – GhislainJC

関連する問題