Quantcast
Channel: SQLServerCentral » SQL Server 2012 » SQL Server 2012 - T-SQL » Latest topics
Viewing all 4901 articles
Browse latest View live

Consecutive Row Number

$
0
0
How to create a row number for a consecutive action. Example: I have a listing of people who have either completed a goal or not. I need to count by person the number of consecutively missed goals. My sql table is this:PersonId, GoalDate, GoalStatus (holds completed or missed)My first thought was to use the rownumber function however that doesn’t work because someone could complete a goal, miss a goal, then complete one and when they complete a goal after a missed goal the count has to start over.Thanks in advance for any advice.

SQL CLR Assembly

$
0
0
We use a SQL assembly to make web calls. We have 1 assembly with a few dozen functions, all use web calls.Recently we ran into an issue where one web call was locked up and the entire assembly was locked up and we couldn’t make any function calls. I’m having trouble finding the answer to my question online. My question is, does SQL run these functions in parallel, or can only one function run at a time in the assembly?Please help. Is there some sort of setting or limitation that would allow / prevent the same function from being called multiple times at once?For an example, I have an assembly with multiple functions. User A calls Function 1. Function 1 (lets say) takes 3 seconds. If User B calls Function 1, does user B’s function not fire until User A’s is finished? Note, we have no issues if User B calls Function 2 while User A is firing Function 1.

T-SQL Doesn't Catch Condition

$
0
0
I have a strange, perhaps too complex query (any suggestions gladly welcomed...) meant to catch differences in two tables. POLineDetail contains updates (extracted from an SSRS report...) to tblPO and tblPOLine. This query is meant to log the actions that are about to take place (in other words, what did the update change....)I expected this to build a POImportLogMessage that identified changes found in the update stream (adds, changes to individual fields, etc.) There may be more than one change per update, and this query is meant to find those as well, concatenating multiple reasons.As it happens, it ONLY captures new PO Lines, never anything else. It turns out that my test table contains 5 rows where the Work Order (WOID) has changed, and should have triggered a "New Work Order" message. It does not capture those. POImportLogMessage is blank for those five rows....What did I do wrong?SS2k12, tblPOLine has maybe 10,000 rows, POLineDetail has maybe 150 rows....FWIW[code="sql"]BEGIN TRANSACTIONINSERT INTO tblPOImportlog(POImportLogDateTime ,POImportPONbr ,POImportPOLineNbr ,POImportLogMessage)SELECT GETDATE() ,I.PONUM ,I.POLINENUM ,CASE WHEN l.POID IS NULL THEN 'Adding New PO Line to CPAS' ELSE CASE WHEN I.WOID != L.WOID THEN 'New Work Order ' ELSE '' END + CASE WHEN I.ProjectID != L.ProjectID THEN 'New Project ' ELSE '' END + CASE WHEN ROUND(I.LOCALLINECOST,2) != ROUND(isnull(POLineDollarValue,0),2) THEN 'New PO Amt (Old ' + format(POLineDollarValue,'C') + ' New ' + format(I.LOCALLINECOST,'C') + ' ' ELSE '' END + CASE WHEN ROUND(I.PAIDLOCAL,2) != ROUND(isnull(L.POLineAmtPaid,0),2) THEN 'New Paid Amt (Old ' + format(L.POLineAmtPaid,'C') + ' New ' + format(I.PAIDLOCAL,'C') + ' ' ELSE '' END END FROM POLineDetail AS I LEFT JOIN tblPOLine AS L ON I.POID = L.POID AND I.POLINENUM = L.POLineNbr;SELECT * FROM tblPOImportLog WHERE POImportLogDateTime > DATEADD(d,-1,GETDATE()) ORDER BY POImportLogID DESC;ROLLBACK TRANSACTION[/code]

Execute an sp for rows returned from a query

$
0
0
I have a query that returns a bunch of rows. I have an sp that takes 3 of the columns in the query as parameters that I want to execute for each row. I can do that easily enough with a cursor, but I thought I'd try to eliminate one more task where I fall back on using cursors.Is there a good way to do that without the cursor?

SQL 2012 ERROR - The metadata could not be determined because statement contains dynamic SQL

$
0
0
Hi, This post is related to an error I have discovered through the execution of a SSIS package that has been migrated and upgraded in a SQL Server 2012 instance. The package has failed in initial testing in 2012 and the root error/issue seems to be this message:sg 11514, Level 16, State 1, Procedure sp_describe_first_result_set, Line 1The metadata could not be determined because statement 'EXEC sp_executesql @Sql, @ParamDetails, @IdParam = @Id, @Sta' in procedure 'PROCNAMECHANGEDTOPROTECTTHEGUILTY' contains dynamic SQL. Consider using the WITH RESULT SETS clause to explicitly describe the result set. I am not the author of the package, so I don't know the full details of what it does but in the end it calls a proc that generates and executes dynamic SQL. And it runs fine in our 2008R2 instances. I have been able to track a similar message related to an inability to determine metadata when referencing a temp table, but I have not come across a message in my searches that specifically mention metadata not being determined due to a proc executing dynamic SQL as noted. Not really expecting a fix (although that would be sweet!) from you folks, I'm hopeful that some discussion might be sparked around functional changes related to gathering metadata in 2012 that are contributing to the problem because I frankly don't get what's happening and I would like to gather as much information as possible to troubleshoot further. So has anyone seen this message in the course of migrating to 2012? Any insight, online references, or experiences are much appreciated.D

Why query did not run according to plan guides

$
0
0
Hi,with reference to http://technet.microsoft.com/en-us/library/ms181714.aspxExample J[code="sql"]USE AdventureWorks2012;GOEXEC sp_create_plan_guide @name = N'Guide5', @stmt = N'SELECT c.LastName, c.FirstName, e.JobTitle FROM HumanResources.Employee AS e WITH (INDEX (IX_Employee_OrganizationLevel_OrganizationNode)) JOIN Person.Person AS c ON e.BusinessEntityID = c.BusinessEntityID WHERE OrganizationLevel = 3;', @type = N'SQL', @module_or_batch = NULL, @params = NULL, @hints = N'OPTION (TABLE HINT(e))';GO[/code]When I run the following[code="sql"]SET STATISTICS XML ON GOSELECT c.LastName, c.FirstName, e.JobTitle FROM HumanResources.Employee AS e WITH (INDEX (IX_Employee_OrganizationLevel_OrganizationNode)) JOIN Person.Person AS c ON e.BusinessEntityID = c.BusinessEntityID WHERE OrganizationLevel = 3;GOSET STATISTICS XML OFFGO[/code]the execution plan is dfference when I run the following[code="sql"]SET STATISTICS XML ON GOSELECT c.LastName, c.FirstName, e.JobTitle FROM HumanResources.Employee AS e WITH (INDEX (IX_Employee_OrganizationLevel_OrganizationNode)) JOIN Person.Person AS c ON e.BusinessEntityID = c.BusinessEntityID WHERE OrganizationLevel = 3 OPTION (TABLE HINT(e));GOSET STATISTICS XML OFFGO[/code]From http://www.sqlservercentral.com/Forums/Topic651525-360-1.aspx, I do understand that explain plan is very picky, hence the original query is not executed according what is supposed to be in the explain plan,May I know why did the original query not run according to what is in the explain plan, coz I don't seen any difference between the two queries above acccept with the OPTIONS Clause in the latter case.thanks

Datawarehouse Flat files Bulk data load Slow Loading

$
0
0
Hi Friends,We have to load 15-20 GB of file in Data warehouse daily. The current configuration of servers are:We were able to load 15 GB of file in 20 minutes in INT server. While we started loading data in Production Environment, it taking 1 hour to load whereas the production environment has better RAM and CPUs.INT.Datawarehouse Server:16 CPU, 64 GB RAM, SQL Server 2012 Enterprise Edition.ETL Server4 CPU, 32 GB RAM,, SQL Server 2012 Enterprise Edition.Production:Datawarehouse Server:16 CPU, 128 GB RAM, SQL Server 2012 Enterprise Edition.ETL Server16 CPU, 64 GB RAM,, SQL Server 2012 Enterprise Edition.Do anyone can help me find the problem ?Thanks in advanceVishal;

Import XML returns 0 rows affected failing

$
0
0
Hi AllI am trying to do a bulk import of data from XML into sQL.My query returns no errors but no data gets imported. Here is my XML [code="xml"]?xml version="1.0" encoding="utf-8"?><status> <connection_status>successful</connection_status> <operation_status>successful</operation_status> <CustomerDeposits> <data_0> <id>336</id> <customerId>111</customerId> <campaignId>0</campaignId> <type>deposit</type> <paymentMethod>Bonus</paymentMethod> <bankName></bankName> <bankNumber></bankNumber> <accountNumber></accountNumber> <branchNumber></branchNumber> <confirmationCode></confirmationCode> <iban></iban> <clearedBy>AllCharge</clearedBy> <amount>20000.00</amount> <status>approved</status> <transactionID>5b21a7688a2e301f2ab839817376963f</transactionID> <requestTime>2013-04-25 21:26:00</requestTime> <confirmTime>2013-04-25 21:26:00</confirmTime> <requestTimeFormatted>PM 09:26 25/04/13</requestTimeFormatted> <confirmTimeFormatted>PM 09:26 25/04/13</confirmTimeFormatted> <IPAddress>64.148.233.214</IPAddress> <currency>USD</currency> </data_0> <data_1> <id>536</id> <customerId>111</customerId> <campaignId>0</campaignId> <type>deposit</type> <paymentMethod>Bonus</paymentMethod> <bankName></bankName> <bankNumber></bankNumber> <accountNumber></accountNumber> <branchNumber></branchNumber> <confirmationCode></confirmationCode> <iban></iban> <clearedBy>AllCharge</clearedBy> <amount>50000.00</amount> <status>approved</status> <transactionID>a43c11963e18100c591c384282856a1a</transactionID> <requestTime>2013-07-25 00:35:00</requestTime> <confirmTime>2013-07-25 00:35:00</confirmTime> <requestTimeFormatted>AM 12:35 25/07/13</requestTimeFormatted> <confirmTimeFormatted>AM 12:35 25/07/13</confirmTimeFormatted> <IPAddress>64.148.233.214</IPAddress> <currency>USD</currency> </data_1> </CustomerDeposits> </status>[/code]Here is my SQL import script[code="sql"]Declare @xml XMLSelect @xml =CONVERT(XML,bulkcolumn,2) FROM OPENROWSET(BULK 'N:\CitiTrader\bb\Cody2.xml',SINGLE_BLOB) AS XSET ARITHABORT ONInsert into [CustomerDeposits](id,customerId,campaignId,[type],paymentMethodBonus,paymentMethod,bankName,bankNumber,accountNumber,branchNumber,confirmationCode,iban,clearedBy,amount,[status],transactionID,requestTime,confirmTime,requestTimeFormatted,confirmTimeFormatted,IPAddress,currency)SelectP.value('id[1]','int') AS Id,P.value('customerId[1]','int') AS CustomerId,P.value('campaignId[1]','VARCHAR(50)') AS CampaignId,P.value('type[1]','VARCHAR(50)') AS type,P.value('paymentMethodBonus[1]','VARCHAR(50)') AS PaymentMethodBonus,P.value('paymentMethod[1]','VARCHAR(50)') AS PaymentMethod,P.value('bankName[1]','VARCHAR(50)') AS bankNamebankName,P.value('bankNumber[1]','VARCHAR(50)') AS bankNumber,P.value('accountNumber[1]','VARCHAR(50)') AS accountNumber,P.value('branchNumber[1]','VARCHAR(50)') AS branchNumber,P.value('confirmationCode[1]','VARCHAR(50)') AS confirmationCode,P.value('iban[1]','VARCHAR(50)') AS iban,P.value('clearedBy[1]','VARCHAR(50)') AS clearedBy,P.value('amount[1]','VARCHAR(50)') AS amount,P.value('status[1]','VARCHAR(50)') AS status,P.value('transactionID[1]','VARCHAR(50)') AS transactionID,P.value('requestTime[1]','VARCHAR(50)') AS requestTime,P.value('confirmTime[1]','VARCHAR(50)') AS confirmTime,P.value('requestTimeFormatted[1]','VARCHAR(50)') AS requestTimeFormatted,P.value('confirmTimeFormatted[1]','VARCHAR(50)') AS confirmTimeFormatted,P.value('IPAddress[1]','VARCHAR(18)') AS IPAddress,P.value('currency[1]','VARCHAR(50)') AS currencyFrom @xml.nodes('/status/connection_status/operation_status/CustomerDeposits') PropertyFeed(P)[/code]

insert into table execution of a stored procedure

$
0
0
HelloI have this table[b]declare @UserMidListTable Table (Id Int,Mid int,ValueMid int,CatParent int, [Enabled] int,LastUpdate Datetime,Company nvarchar(max))[/b]I want to fill it with the execution of this stored procedure insert into @UserMidListTable (Id ,Mid ,ValueMid ,CatParent , [Enabled] ,LastUpdate ,Company)[b] exec UserMidList @userRkey,'20','0','0','10','1','2','',''[/b]the execution of stored procedure is bellowid Mid ValueMid CatParent Enabled LastUpdate company1 20 100001 NULL 25 NULL NULL2 20 100007 NULL 25 NULL NULL3 20 100030 NULL 25 NULL NULL4 20 100042 NULL 25 NULL NULL5 20 100043 NULL 25 NULL NULLBUT I see this error[b]Column name or number of supplied values does not match table definition.[/b]I don't know what is wrong.

How can I use MAX() function in another DataBAse?

$
0
0
HelloI want to use max() function and I want to read the input of this function from another database(its name is exhibitor). like below :[code="other"]select @LastDate=MAX([exhibitor.dbo.Maintable.LastUpdate])[/code]but I have error below[b]Msg 207, Level 16, State 1, Procedure Exec_List, Line 131Invalid column name 'exhibitor.dbo.Maintable.LastUpdate'.[/b]

Question About Trapping Attempt to Insert Duplicate Record in Stored Procedure

$
0
0
I have the following stored procedure (shown at the bottom of this posting). It attempts to do a simple insertion of a new record into a table in my SQL Server 2012 database.I'd like to adjust the stored procedure to where it returns a specific error code to indicate if the user has attempted to insert a new record that's actually a duplicate record and failed to insert.I'd like the stored procedure to be able to return this error code to where I can identify what happened in a Windows Forms application in Visual Basic 2013 and can handle presenting a msg. to the user indicating that their record insertion attempt failed because it would have been a duplicate record.Any suggestions for modifying this stored procedure (below) would be appreciated to accomplish what I'm desiring.Thanks.[code="sql"]ALTER PROCEDURE [dbo].[sp_ins_recipients_of_scoring_reports]( @RecipientEmail varchar(50) , @ContestYear char(4) = NULL , @RecipientType varchar(50) = NULL , @RecipientName varchar(100) = NULL , @RecipientReportType varchar(50) = NULL )AS INSERT INTO [tblRecipientsOfScoringReports]( [RecipientEmail], [ContestYear], [RecipientType], [RecipientName], [RecipientReportType])VALUES ( @RecipientEmail, @ContestYear, @RecipientType, @RecipientName, @RecipientReportType)[/code]

SSIS package backup of sharepoint

$
0
0
Hi all,Hi was assigned a project to make a backup of data from 3 lists in a sharepoint with the objective of using that data to do reports on it using Report Builder.I was abble to do the downloads using the add in to do downloads Sharepoint List Source and Destination "plug in" in SSIS, now the issue is how to update the backup table only with updated and new rows, does anyone have some suggestions on this?Best regards,Daniel

Dynamically create a sql script only selecting columns where there is data

$
0
0
Morning,Thanks for your help in advance, very much appreciated.I have created some dynamic sql to check a temporary table that is created on the fly for any columns that do contain data. If they do the column name is added to a dynamic sql, if not they are excluded. This looks like:[code="sql"]If (select sum(Case when [Sat] is null then 0 else 1 end) from #TABLE) >= 1 begin set @OIL_BULK = @OIL_BULK + '[Sat]' +',' END[/code]However, I am currently running this on over 230 columns and large tables 1.3 mil rows and it is quite slow. Does anyone have any ideas how I can dynamically create a sql script that only selects the columns in the table where there is data in a speedier manner. Unfortunately it has to be on the fly because the temporary table is created on the fly.Many Thanks for your help,Oliver

Find out if the whole column of data in a table is empty - dynamic sql creation

$
0
0
Morning,Thanks for your help in advance, very much appreciated.I have created some dynamic sql to check a temporary table that is created on the fly for any columns that do contain data. If they do the column name is added to a dynamic sql, if not they are excluded. This looks like:[code="sql"]If (select sum(Case when [Sat] is null then 0 else 1 end) from #TABLE) >= 1 begin set @OIL_BULK = @OIL_BULK + '[Sat]' +',' END[/code]However, I am currently running this on over 230 columns and large tables 1.3 mil rows and it is quite slow. Does anyone have any ideas how I can dynamically create a sql script that only selects the columns in the table where there is data in a speedier manner. Unfortunately it has to be on the fly because the temporary table is created on the fly.Many Thanks for your help,Oliver

sys.default_constraints bug

$
0
0
Hi alli've executed the following[code="sql"]CREATE DATABASE practiseUSE practiseCREATE TABLE dbo.SUPPLY1 (supplyID INT CONSTRAINT SUPPLY1_pk PRIMARY KEY CONSTRAINT SUPPLY1_chk CHECK (supplyID BETWEEN 1 and 150),supplier CHAR(50));SELECT unique_index_id, is_system_named, * FROM sys.key_constraints WHERE name=N'SUPPLY1_pk'AND SCHEMA_NAME(schema_id)='dbo'SELECT name, parent_column_id, definition, is_system_named, * FROM sys.default_constraints WHERE name=N'SUPPLY1_chk'EXEC sp_help @objname='SUPPLY1'[/code]but what is suprising is when I execute[code="sql"]SELECT name, parent_column_id, definition, is_system_named, * FROM sys.default_constraints[/code]There's not even SUPPLY1_chk being mentioned.while I understand there's bugs associate with sys.default_constraints from http://www.sqlservercentral.com/Forums/Topic1359991-3077-1.aspxthe situation above is different as it is a permanent tableif I execute[code="sql"]EXEC sp_help @objname='SUPPLY1'......CHECK on column supplyID SUPPLY1_chk (n/a) (n/a) Enabled Is_For_Replication ([supplyID]>=(1) AND [supplyID]<=(150))PRIMARY KEY (clustered) SUPPLY1_pk (n/a) (n/a) (n/a) (n/a) supplyID[/code]SUPPLY1_chk appears in the listAm I missing something here?thanks!

Replacement for a whole mess of left joins?

$
0
0
Hi,A bit of a general question:I have a query with 28 LEFT JOINS. 20 of them join one table to the original query in order to break information out into separate columns, so data is distinguishable. The next 8 do the same thing with a third table. I was thinking about using PIVOT to replace them, but since I've never used it before, I wasn't entirely sure it would be the best route to go. I was also considering a CTE, because I'm more familiar with them. Again though, not sure it would be the best route. Any suggestions or opinions?

Query approach

$
0
0
I can figure a number of Big Hammer methods of doing this job, but I"m trying to improve myself and stop hitting things with hammers.Given:[code="sql"]USE [tempdb]GOCREATE TABLE [Person] ( IPCode INT);CREATE TABLE [Profile]( IPCode INT , ID NVARCHAR(32));INSERT INTO [Person] VALUES (1);INSERT INTO [Person] VALUES (2);INSERT INTO [Person] VALUES (3);INSERT INTO [Person] VALUES (4);INSERT INTO [Profile] VALUES (1,'AAAA');INSERT INTO [Profile] VALUES (1,'AAAA');INSERT INTO [Profile] VALUES (2,'BBBB');INSERT INTO [Profile] VALUES (2,'BBBB');INSERT INTO [Profile] VALUES (2,'BBBC');INSERT INTO [Profile] VALUES (3,'CCCC');INSERT INTO [Profile] VALUES (3,'CCCC');INSERT INTO [Profile] VALUES (3,'CCCC');INSERT INTO [Profile] VALUES (4,'DDDD');INSERT INTO [Profile] VALUES (4,'DDDA');INSERT INTO [Profile] VALUES (4,'DDDB');INSERT INTO [Profile] VALUES (4,'DDDD');INSERT INTO [Profile] VALUES (4,'DDDD');SELECT *FROM [Person] AS p JOIN [Profile] AS pr ON [p].[IPCode] = [pr].[IPCode];DROP TABLE [Person];DROP TABLE [Profile];[/code]How would I make the query return only the rows from [Profile] with the same [IPCode] and different [ID]'s. i.e. - I should get back:2,BBBB2,BBBC4,DDDD4,DDDA4,DDDBIn the application involved [Person] has about 500K rows, about 10K of which have rows in [Profile] and there are rarely more than 10 rows in [Profile] for a [Person].[Meta-question: is this an effective way to ask this question in this community?]

Normalizing using Cross Apply... with a twist

$
0
0
I was reading Kenneth Fisher's article on using Cross Apply to normalize an unnormalized table. (I had to do this a long time ago in Access, and it was a nightmare, so the article caught my attention.)In his case, he is unpivoting (Question, Answer) pairs, and the number of "pairs" is static. Here's the twist... in my case, I had TONS of databases that were like this, and the number of (Q,A) pairs was not static. On top of that, the columns were something like you'd find in a spreadsheet, so instead of Question[n], I would have a Symptom name.So my table was something like this:[code="sql"]CREATE TABLE ToxicityPivot( PatientID int NOT NULL, Cycle tinyint NOT NULL, Toxicity1 tinyint, Causality1 tinyint, Relatedness1 tinyint,...);ALTER TABLE ToxicityPivot ADD CONSTRAINT pkUnpivot PRIMARY KEY (PatientID, Cycle);[/code]... except that the three "subscripted" (Toxicity, Causality, Relatedness0 columns could repeat an indeterminate number of times. (Some of my tables had 70+ columns!) On top of that, instead of Toxicity[n] as a column name, I had a very large number of possible values. (I think there are several thousand symptoms listed in the Common Toxicity for Adverse Events list).How would I grab the names of the "toxicity[n]" columns? In Access, I did it using the Fields collection (dirty word around here, I know!). Basically walk the Fields collection of the table object and then grab the column names that were in upper case... (they were at least wrong in a consistent way!)here's an example of what the table structure was like:[code="sql"]CREATE TABLE Toxicity(PatientID int NOT NULL,Cycle int NOT NULL,ALOPECIA tinyint,Causality1 tinyint,Relatedness1BLOOD tinyint,Blood_Specify VARCHAR(30),Causality2 tinyint,Relatedness2 tinyint[/code]etc...);(Some symptoms had a "specify" column - there's no way to know from just the name - I would "learn" which columns did by seeing lots of examples.)Can I do the same thing in T-SQL? If so, how? (Don't need a detailed description, but what system tables would I look at?)Thanks!Pieter

Slow Query Issue...

$
0
0
Hi All, I'm posting a query that is troubling me. The query is taking 3-4 mins and [i]not exists[/i] part is responsible for the slowness.Do we have some way to rewrite some parts or all of the query?[quote]select distinct top 100 i.invoice_id, i.buyer_code, i.submit_time, i.request_idfrom dbo.invoice i inner join dbo.invoice_adj ia on i.invoice_id = ia.invoice_id and ia.amount !=0where (i.detail_amount != 0 or i.tax_amount!=0) and not exists (select 1 from dbo.invoice_detail iad where i.invoice_id = iad.invoice_id) and not exists (select 1 from dbo.unprocess_invoice_detail uiad where i.invoice_id = uiad.invoice_id)order by i.submit_time desc[/quote]Here is the IO stats and Query plan is attached for your review.[quote]Table 'unprocess_invoice_detail'. Scan count 0, logical reads 94, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.Table 'invoice_detail'. Scan count 3021367, logical reads 19364105, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.Table 'invoice'. Scan count 1, logical reads 1485831, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.Table 'invoice_adj'. Scan count 1, logical reads 181283, physical reads 0, read-ahead reads 75, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.[/quote]Thanks, Ashish.

Split string into Columns based on Special Character

$
0
0
Hi,Can anyone help me get the required result in SQL 2012Create table DBInfo (Path varchar (500))Insert into DBInfo values('/Data Sources')Insert into DBInfo values('/Data Sources/SALES')Insert into DBInfo values('/PRODUCTION')Insert into DBInfo values('/PRODUCTION/SERVICE')Insert into DBInfo values('/PRODUCTION/SERVICE/MAINTENANCE')Insert into DBInfo values('/PRODUCTION/SERVICE/LOGISTICS')My Expected OutputColumn1, Column2, Column3Data Sources Null NullData Sources Sales NullPRODUCTION Null NullPRODUCTION SERVICE NullPRODUCTION SERVICE MAINTENANCEPRODUCTION SERVICE LOGISTICS
Viewing all 4901 articles
Browse latest View live