2017-05-17 1 views
0
SELECT 
    'S. J. & G. FAZUL ELLAHIE (PVT) LTD.' AS CompanyName, 
    'E - 46, S.I.T.E., KARACHI - 75700' AS CompanyAddress, 
    'admin' login_user, 'crm.sjg.local' selhost, 
    'admin' sellogin, 'sr_salereport' seltoprint, 
    'SALES REPORT' selreportTitle, '' selflagType, 
    'SI' selreportType, '' selfrmDate, '' seltoDate, 
    '' selfromProductId, '' selac_fromProductId_ac, 
    '' selbrandId, '' selcustomerId, '' selac_customerId_ac, 
    '' selgodownId, '' selsmId, '' selsalesmanId, '' selcity, 
    '' selarea, '' selorders_status, 'S' seldst, 
    'Invoice' selgroup1, '1' selcurrencyid, 'id' seltype, 
    'D' seldefUnit, '' selmanufacturers_id, 'Report' selyt0, 
    CAST(docTypeId as varchar(20)) + CAST(documentId as varchar(20)) groupId1, 
    [dbo].[ITL_DATE_TO_STRING_FOR_SORTING](refDate) groupTitle1, 
    '' groupId2, '' selgroup2,'' groupTitle2, * 
FROM 
    [dbo].SR_Sale(null, null, 0, 0, 0, 0, N'', N'', 0, N'SI', 0, 0, 1, N'id', N'D') AS TR 
WHERE 
    docType IN ('SI', 'GYM RECEIPT') 
+0

die Abfrage ausgeführt wird, und OK, um die Daten aus der Tabelle wählen ... aber ich möchte eigentlich eine einzige Spalte (selmanufacturers_id) aktualisieren, aber ich kann nicht die richtige Syntax verwenden ... Bitte leite mich mit eine oder zwei Spalten von der obigen Abfrage .. das Problem ist update selmanufacturers_id wo products_id ist gleich 9031 –

+1

Bitte lesen Sie [fragen] und bearbeiten Sie Ihre Frage entsprechend. –

Antwort

0

Dies ist eine allgemeine Update-Anweisung

FROM dbo.SR_Sale 
SET selmanufacturers_id ='xxx' 
WHERE (TODO: add where-clause here to specify which row needs to be updated) 
+0

danke, aber dbo.SR_Sale ist eine Funktion. Ich kann Update-Abfrage für Funktion nicht verwenden. –

0

selmanufacturers_id Unter der Annahme, existiert nicht in [dbo] .SR_Sale Funktion aber im Gegensatz zu products_id.

IF (OBJECT_ID('tempdb..#tmp_SR_SALE') IS NOT NULL) 
    BEGIN 
     DROP TABLE #tmp_SR_SALE 
    END 


    SELECT 'S. J. & G. FAZUL ELLAHIE (PVT) LTD.' AS CompanyName , 
      'E - 46, S.I.T.E., KARACHI - 75700' AS CompanyAddress , 
      'admin' login_user , 
      'crm.sjg.local' selhost , 
      'admin' sellogin , 
      'sr_salereport' seltoprint , 
      'SALES REPORT' selreportTitle , 
      '' selflagType , 
      'SI' selreportType , 
      '' selfrmDate , 
      '' seltoDate , 
      '' selfromProductId , 
      '' selac_fromProductId_ac , 
      '' selbrandId , 
      '' selcustomerId , 
      '' selac_customerId_ac , 
      '' selgodownId , 
      '' selsmId , 
      '' selsalesmanId , 
      '' selcity , 
      '' selarea , 
      '' selorders_status , 
      'S' seldst , 
      'Invoice' selgroup1 , 
      '1' selcurrencyid , 
      'id' seltype , 
      'D' seldefUnit , 
      '' selmanufacturers_id , 
      'Report' selyt0 , 
      CAST(docTypeId AS VARCHAR(20)) + CAST(documentId AS VARCHAR(20)) groupId1 , 
      [dbo].[ITL_DATE_TO_STRING_FOR_SORTING](refDate) groupTitle1 , 
      '' groupId2 , 
      '' selgroup2 , 
      '' groupTitle2 , 
      * 
    INTO #tmp_SR_SALE FROM [dbo].SR_Sale(NULL, NULL, 0, 0, 0, 0, N'', N'', 0, N'SI', 0, 0, 1, 
          N'id', N'D') AS TR 
    WHERE docType IN ('SI', 'GYM RECEIPT') 

    UPDATE #tmp_SR_SALE 
    SET selmanufacturers_id = 'value here' 
    WHERE products_id = 9031 

    SELECT * FROM #tmp_SR_SALE 
+0

Wenn ich diese Abfrage ausführen, werde ich nicht die vorherige Tabelle zusammen mit den Daten verloren? –

+0

Dies wird nur selmanufacturers_id virtuell auf #tmp_SR_SALE aktualisieren, die Daten in [dbo] .SR_Sale Funktion wird die gleiche und intakt sein. –

Verwandte Themen