2015-08-19 4 views
0
INSERT INTO Pricing_Compare (SKU, ScansourcePrice, BluestarPrice, BarcodePrice, Manufacturer, Product)  
    SELECT 
     Product.SKU, Product.Name, ProductVariant.Price, 
     Manufacturer.Name,Scansource.COST, Bluestar.PRICE 
    FROM 
     Product 
    INNER JOIN 
     ProductVariant ON Product.ProductID = ProductVariant.ProductID 
    INNER JOIN 
     ProductManufacturer ON Product.ProductID = ProductManufacturer.ProductID 
    INNER JOIN 
     Manufacturer ON ProductManufacturer.ManufacturerID = Manufacturer.ManufacturerID 
    INNER JOIN 
     Scansource ON Product.SKU =Scansource.SKU 
    INNER JOIN 
     Bluestar ON Product.SKU = Bluestar.MFG_PART_NUMBER 

Я получаю 0 строк. Это кажется прямым. Не могу понять.Запрос не принесет никаких результатов только заголовки

+0

Комментировать каждый из внутренних соединений один за другим и запустить запрос выбора - чтобы увидеть, какое из соединений не приводит к отображению результатов. Затем проверьте, что в любой таблице, которая действительно есть, есть строки, которые, по вашему мнению, она делает, чтобы они соответствовали вашему внешнему запросу. И если это не так, но это не нужно, подумайте о том, чтобы использовать левое соединение для этой таблицы вместо внутреннего соединения. – CustodianOfCode

+0

Пробовал влево Присоединиться и получил: 'Msg 515, Level 16, State 2, Line 1 Невозможно вставить значение NULL в столбец« ProductID », таблицу« 9300_A.dbo.Pricing_Compare »; столбец не допускает нулей. INSERT терпит неудачу. Заявление было прекращено. ' – Fred

+0

Таким образом, он хочет получить идентификатор productID в таблице Pricing_Compare. Можете ли вы проверить, какие столбцы содержат pricing_compare, и убедитесь, что ваш запрос выбора вставляет все эти значения? Похоже, что идентификатор продукта доступен, но вы не включили его в список полей, которые нужно вставить в pricing_compare. – CustodianOfCode

ответ

0

Попробуйте это. Я изменил имена столбцов в запросе select.

INSERT INTO Pricing_Compare (SKU,ScansourcePrice,BluestarPrice,BarcodePrice,Manufacturer,Product)  
SELECT Product.SKU,Scansource.COST, Bluestar.PRICE, ProductVariant.Price Manufacturer.Name,Product.Name 
FROM Product 
INNER JOIN ProductVariant ON Product.ProductID = ProductVariant.ProductID 
INNER JOIN ProductManufacturer ON Product.ProductID = ProductManufacturer.ProductID 
INNER JOIN Manufacturer ON ProductManufacturer.ManufacturerID = Manufacturer.ManufacturerID 
INNER JOIN Scansource ON Product.SKU =Scansource.SKU 
INNER JOIN Bluestar ON Product.SKU = Bluestar.MFG_PART_NUMBER 
+0

0 строк снова затронуты. – Fred

+0

Сколько результатов вы получаете, когда запускаете только запрос выбора? –

+0

'Msg 4104, уровень 16, состояние 1, строка 1 Идентификатор из нескольких частей« Product.SKU »не может быть связан. Msg 4104, уровень 16, состояние 1, строка 1 Идентификатор из нескольких частей «Product.Name» не может быть связан. Msg 4104, уровень 16, состояние 1, строка 1 Идентификатор из нескольких частей «ProductVariant.Price» не может быть связан. Msg 4104, уровень 16, состояние 1, строка 1 Идентификатор из нескольких частей «Manufacturer.Name» не может быть связан. Msg 4104, уровень 16, состояние 1, строка 1 Идентификатор из нескольких частей «Scansource.COST» не может быть связан. Msg 4104, уровень 16, состояние 1, строка 1 Идентификатор из нескольких частей "Bluestar.PRICE" не может быть связан. ' – Fred

Смежные вопросы