で更新しました。私は古い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サーバに似ていない理由を教えていただけますか?
私はいくつかのヒントは、あなたのクエリを読みやすくするために、より簡単に従うために、あなたのための答えを持っていません。 "rebrand"の意味を理解していれば、それは確かにSQL Serverで行うことができます。これは[テーブルエイリアス](technet.microsoft.com/en-us/library/ms187455(v = sql.105).aspx)と呼ばれます。 デフォルトであるため、InventoryDatabaseからクエリを実行する場合、テーブルを "[InventoryDatabase]"で修飾する必要はありません。デフォルトの所有者であるため、[[dbo]]を指定する必要はありません。 これらのことを試してみると、なぜSQL Serverがクエリを好まないのかを知ることができます。 – nscheaffer
関連のないメモで、複数の段落を持つことができない、またはコメントにMarkdownを使用できないのはなぜですか?奇妙に思える。 – nscheaffer
それは、このような単純なする必要がありますが、私は INNER FROM T1 SET T1.ComputerName = T2.SCCMName としてSQL Management Studioを 「UPDATE Hardware_Inventoryからinvaildオブジェクトを取得T1.SerialNumber = T2.SCCMSerial ON T2としてupdatepcnameを登録しよう' – GhislainJC