An Easy Way To Reference The Nth Row From A Table Meeting A Condition X, And The Mth Row From The Same Table Meeting Condition Y
Hi
I am developing a scientific application (demographic forecasting) and have a situation where I need to update a variety of rows, say the ith, jth and kth row that meets a particular condition, say, x.
I also need to adjust rows, say mth and nth that meet condition , say y.
My current solution is laborious and has to be coded for each condition and has been set up below (If you select this entire piece of code it will create 2 databases, each with a table initialised to change the 2nd,4th,8th and 16th rows, with the first database ignoring the condition and with the second applying the change only to rows with 'type1=1' as the condition.)
This is an adequate solution, but if I want to change the second row meeting a second condition, say 'type1=2', I would need to have another WITH...SELECT...INNER JOIN...UPDATE and I'm sure this would be inefficient.
Would there possibly be a way to introduce a rank by type into the table, something like this added column which increments for each type:
ID
Int1
Type1
Ideal Rank by Type
1
1
1
1
2
1
1
2
3
2
1
3
4
3
1
4
5
5
1
5
6
8
2
1
7
13
1
6
8
21
1
7
9
34
1
8
10
55
2
2
11
89
1
9
12
144
1
10
13
233
1
11
14
377
1
12
15
610
1
13
16
987
2
3
17
1597
1
14
18
2584
1
15
19
4181
1
16
20
6765
1
17
The solution would then be a simple update based on an innerjoin reflecting the condition and rank by type...
I hope this posting is clear, albeit long.
Thanks in advance
Greg
PS The code:
USE
master
GO
CREATE DATABASE CertainRowsToChange
GO
USE CertainRowsToChange
GO
CREATE TABLE InitialisedValues
(
InitialisedValuesID int identity(1 ,1) NOT NULL PRIMARY KEY,
Int1 int NOT NULL
)
GO
CREATE PROCEDURE Initialise
AS
BEGIN
INSERT INTO InitialisedValues (Int1 )
SELECT 2
INSERT INTO InitialisedValues (Int1 )
SELECT 4
INSERT INTO InitialisedValues (Int1 )
SELECT 8
INSERT INTO InitialisedValues (Int1 )
SELECT 16
END
GO
EXEC Initialise
/*=======================================================*/
CREATE TABLE AllRows
(
AllRowsID int identity(1 ,1) NOT NULL PRIMARY KEY,
Int1 int NOT NULL
)
GO
CREATE TABLE RowsToChange
(
RowsToChangeID int identity(1 ,1) NOT NULL PRIMARY KEY,
Int1 int NOT NULL
)
GO
CREATE PROCEDURE InitialiseRowsToChange
AS
BEGIN
INSERT INTO RowsToChange (Int1 )
SELECT 2
INSERT INTO RowsToChange (Int1 )
SELECT 4
INSERT INTO RowsToChange (Int1 )
SELECT 8
INSERT INTO RowsToChange (Int1 )
SELECT 16
END
GO
EXEC InitialiseRowsToChange
GO
CREATE PROCEDURE PopulateAllRows
AS
BEGIN
INSERT INTO AllRows (Int1 )
SELECT 1
INSERT INTO AllRows (Int1 )
SELECT 1
INSERT INTO AllRows (Int1 )
SELECT 2
INSERT INTO AllRows (Int1 )
SELECT 3
INSERT INTO AllRows (Int1 )
SELECT 5
INSERT INTO AllRows (Int1 )
SELECT 8
INSERT INTO AllRows (Int1 )
SELECT 13
INSERT INTO AllRows (Int1 )
SELECT 21
INSERT INTO AllRows (Int1 )
SELECT 34
INSERT INTO AllRows (Int1 )
SELECT 55
INSERT INTO AllRows (Int1 )
SELECT 89
INSERT INTO AllRows (Int1 )
SELECT 144
INSERT INTO AllRows (Int1 )
SELECT 233
INSERT INTO AllRows (Int1 )
SELECT 377
INSERT INTO AllRows (Int1 )
SELECT 610
INSERT INTO AllRows (Int1 )
SELECT 987
INSERT INTO AllRows (Int1 )
SELECT 1597
INSERT INTO AllRows (Int1 )
SELECT 2584
INSERT INTO AllRows (Int1 )
SELECT 4181
INSERT INTO AllRows (Int1 )
SELECT 6765
END
GO
EXEC PopulateAllRows
GO
SELECT * FROM AllRows
GO
WITH Temp(OrigID)
AS
(
SELECT OrigID FROM
(SELECT Row_Number() OVER (ORDER BY AllRowsID Asc ) AS RowScore, AllRowsID AS OrigID, Int1 AS OrigValue FROM Allrows) AS FromTable
INNER JOIN
RowsToChange AS ToTable
ON FromTable.RowScore = ToTable.Int1
)
UPDATE AllRows
SET Int1=1000
FROM
Temp as InTable
JOIN Allrows as OutTable
ON Intable.OrigID = OutTable.AllRowsID
GO
SELECT * FROM AllRows
GO
USE
master
GO
CREATE DATABASE ComplexCertainRowsToChange
GO
USE ComplexCertainRowsToChange
GO
CREATE TABLE InitialisedValues
(
InitialisedValuesID int identity(1 ,1) NOT NULL PRIMARY KEY,
Int1 int NOT NULL
)
GO
CREATE PROCEDURE Initialise
AS
BEGIN
INSERT INTO InitialisedValues (Int1 )
SELECT 2
INSERT INTO InitialisedValues (Int1 )
SELECT 4
INSERT INTO InitialisedValues (Int1 )
SELECT 8
INSERT INTO InitialisedValues (Int1 )
SELECT 16
END
GO
EXEC Initialise
/*=======================================================*/
CREATE TABLE AllRows
(
AllRowsID int identity(1 ,1) NOT NULL PRIMARY KEY,
Int1 int NOT NULL,
Type1 int NOT NULL
)
GO
CREATE TABLE RowsToChange
(
RowsToChangeID int identity(1 ,1) NOT NULL PRIMARY KEY,
Int1 int NOT NULL,
Type1 int NOT NULL
)
GO
CREATE PROCEDURE InitialiseRowsToChange
AS
BEGIN
INSERT INTO RowsToChange (Int1,Type1 )
SELECT 2, 1
INSERT INTO RowsToChange (Int1,Type1 )
SELECT 4, 1
INSERT INTO RowsToChange (Int1,Type1 )
SELECT 8, 1
INSERT INTO RowsToChange (Int1,Type1 )
SELECT 16, 1
END
GO
EXEC InitialiseRowsToChange
GO
CREATE PROCEDURE PopulateAllRows
AS
BEGIN
INSERT INTO AllRows (Int1, Type1 )
SELECT 1, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 1, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 2, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 3, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 5, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 8, 2
INSERT INTO AllRows (Int1, Type1 )
SELECT 13, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 21, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 34, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 55, 2
INSERT INTO AllRows (Int1, Type1 )
SELECT 89, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 144, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 233, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 377, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 610, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 987, 2
INSERT INTO AllRows (Int1, Type1 )
SELECT 1597, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 2584, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 4181, 1
INSERT INTO AllRows (Int1, Type1 )
SELECT 6765, 1
END
GO
EXEC PopulateAllRows
GO
SELECT * FROM AllRows
GO
WITH Temp(OrigID)
AS
(
SELECT OrigID FROM
(SELECT Row_Number() OVER (ORDER BY AllRowsID Asc ) AS RowScore, AllRowsID AS OrigID, Int1 AS OrigValue FROM Allrows WHERE Type1=1) AS FromTable
INNER JOIN
RowsToChange AS ToTable
ON FromTable.RowScore = ToTable.Int1
)
UPDATE AllRows
SET Int1=1000
FROM
Temp as InTable
JOIN Allrows as OutTable
ON Intable.OrigID = OutTable.AllRowsID
GO
SELECT * FROM AllRows
GO
View Complete Forum Thread with Replies
Related Forum Messages:
Recurring Meeting On Multiple Days UGH!
Ugh! I need to create some SQL that will generate all the dates for a recurring meeting on multiple days per week. For example: a meeting on Monday , Wednesday and Friday at 10:00 am - 10:30 am from December 1st 2004 to Feb 28th 2005. I'm not sure what to do here. Any Ideas? Regards Russ
View Replies !
Repost!: Extract Data Meeting Specific Criteria.
Here’s a more in depth breakdown of my problem: We have 4 regions, currently we only have 3 servers in the field, and therefore only 3 regional id’s are being used to store the actual data of the pbx. The central server (RegionalID = 0) is holding the data for itself and the 4th region until the new server is deployed. It now has to be deployed and therefore the data migration for this region has to take place. I am trying to extract all the data for this 4th region (RegionalID= 1) from the central server database from all the relevant tables. When doing this I will firstly, have to check that the CallerID is valid, if it is not valid, then check that RegionalDialup = ‘0800003554’ which is the dialup number for this 4th region (RegionalID = 1). I have a table named lnkPBXUser which contains the following: RegionalID pbxID userID 0 1012 17 0 543 2 0 10961 6 0 16499 26 0 14061 36 0 15882 2 4 15101 6 4 15101 26 6 16499 2 6 16012 26 I have a table named tblDialupLog which has 20 columns, I have selected only the columns I am interested in (below): PBXIDDailupDT DongleAccessNum CLI RegionalID RegionalDialup 838/8/2006 8:58:11 AM T2 UQ 28924 013249370000800003554 5438/8/2006 8:55:44 AM T0 UA 33902 012362350000800003554 12198/8/2006 8:59:03 AM T3 ZD 02031 015295809500800003554 10128/8/2006 9:02:54 AM T0 UA 41261 017301105000800003554 13318/8/2006 8:59:57 AM T0 UA 01938 012460462700800003554 19798/8/2006 9:02:52 AM T0 UA 09836 016375121000800003554 19038/8/2006 8:58:41 AM T0 UA 26009 014717535600800003554 15228/8/2006 8:58:54 AM T3 MB 94595 057391287100800004249 3198/8/2006 8:51:28 AM T2 ZD 32892 054337510000800004249 32708/8/2006 9:04:26 AM T2 MB 8733100800004249 I have a table named tblCodes, it contains all regions but I only need to select the codes for RegionalID 1 : CodeIDRegionalID ExtName SubsNDCDLocCDUpdateStatusRegionDesc 79731 PRETORIA 0123620NORTH EASTERN REGION 79741 HARTEBEESHOEK 012 30120NORTH EASTERN REGION 79751 HARTEBEESHOEK 01230130NORTH EASTERN REGION 79761 PRETORIA 01730140NORTH EASTERN REGION 79771 PRETORIA 01230150NORTH EASTERN REGION I have a table named tblDongleArea which contains the following (below only shows dongle area codes for the fourth region( RegionalID = 1): AreaIDRegionalIDDongleAreaCodeAreaDescUpdateStatus 121UAOumashoop0 131UBPietersburg0 141UCWarmbad01 151UDNylstroom0 161UEPotgietersrus0 271UFLouis Trichardt0 281UGMessina0 291UHEllisras0 301UIThabazimbi0 311UJPhalaborwa0 321UKTzaneen0 331UTStanderton0 341UMMeyerton0 351UNNelspruit0 361UOWitrivier0 371UPLydenburg0 381UQMiddelburg0 391URWitbank0 401USBronkhorstspruit0 461UZOlifantsfontein0 I have a table named tblRegionalNumbers which contains the following, as you can see the RegionalDialup for the fourth region = 0800003554: RegionalID RegionalDialupRegionUpdateStatusRegionCodeLocalRegion 10800003554North Eastern010 20800005027Gauteng020 30800006194Eastern030 40800004249Central040 50800201859Southern050 60800201989Western060 70800113515HO101 80800222204Tellumat070 Ok, I am dealing with the lnkPBXUser table at the moment, I need to be able to join lnkPBXUser and tblDialupLog, then compare tblDialupLog.CLI to tblCodes.SubsNDCD + tblCodes.LocCD (when these two columns are concatenated the result will only be a substring of tblDialupLog.CLI. (this is to make sure that the CLI exists in tblCodes.) If it does exist, then it is part of the fourth region and should be returned in the result set. If it does not exist, I then need to check that tblDongle.DongleAreaCode is a substring of tblDialupLog.DongleAccessNumber. If it is a valid DongleAreaCode for that region, then it is part of the fourth region and should be returned in the result set. If it does not exist, I then need to check that tblDialupLog.RegionalNumber = ‘080003554’. So from the above tables an expected result would be: RegionalID pbxID userID 0 1012 17 0 543 2 Please assist, it would be greatly appreciated. Regards SQLJunior
View Replies !
One Table, Two Condition, Display Result As One Table
I got one table with 3 columns = Column1, Column2, Column3 Sample Table Column1 | Column2 | Column3 ------------------------------------ A | 12 | 0 A | 13 | 2 B | 12 | 5 C | 5 | 0 Select Column1, Column2, Column3 as New1 Where Column1 = A AND Column2 = 12 AND Column3 = 0 Select Column1, Column2, Column3 as New2 Where Column1 = A AND Column2 = 12 AND Column3 >0 The only difference is one condition Column3 = 0 and another one Column3 > 0. This two condition is not an "AND" condition... but just two separate information need to be display in one table. So how do i display the result in one table where the new Output will be in this manner Column1 | Column2 | New1 | New2| Thanks
View Replies !
Create Table On Condition
I import CSV file into MSSQL database table twice a day using DTS. There is a filed name clients, which contains clients name. I import all data from CSV file to temp table, from temp table it goes to every single clients table. Client A, B and C has separate tables in database as tableA, tableB and tableC. Problem is that when there is a new client in the CSV file I need to create a table for new client in database manually. I am in need of a script which check for new client entry in CSV file and compare it in clients table. If incoming client is not present in client's table locally then then script should create a new table for new incoming client, automatically. Thanx. Waiting for someones response !
View Replies !
Select Condition From Log Table
Hi guys Im not even sure how to word this right, but how do I compare one element(unsure word number 1) namely Filename, from a list of results, and use that value as a variable for another condition in the same select... I think?! So if I get a list of 50 filenames (from a log table), some might be double. If the file was successfully processed, it will log that filename and the status as OK and if not then BAD. The file will be modified and then reprocessed until OK. Each time the file was processed, it will log the filename and status. I then run a statement that shows all the files that were BAD (from the log table) and it will bring up then filename and BAD status. What I want to do is check the status' and if the file is BAD, check if there is another logged entry with that filename and status is OK, if found then not produce output as Im only looking for the files that status' are BAD with no OK status for any of the logged entries for that filename. Is that understandable? If not then Ill try reword it. The help is much appreciated! Justin
View Replies !
Returns TABLE Based On A Condition
HI all,In SQL Server, i have a function which will return a table. likecreate function fn_test (@t int) returns table asreturn (select * from table)now i want the function to retun the table based on some condition like belowcreate function fn_test(@t int) returns table asif @t = 1 return (select * from table1)else return (select * from table2)It is not working for me. Please give me your suggesstions. It's very urgent.Thank you in advance....
View Replies !
Update Table With Multipe Condition
hi, I want to ask how I want update my table using a multiple condition.My table format is like this: IC_NO F05 F07 F08 F09 Ind 123 452 C 654 852 P 125 A 526 C What I want to do is: IF Ind = C, F05 <> NULL then IC_NO = F05 IF IND = C, F05 = Null and F09 <> Null then IC_NO = F09 IF IND = P, F05 <> Null and F07 <> Null then IC_NO = F07 IF Ind = A, F05 = Null and F08 <> Null then IC_NO = F08 your helpful highly appreciated..thanks
View Replies !
Update All The Records Of A Table On A Condition
Hi I have a two tables as follows Table Category { ID PK, LastUpdate DateTime } Table Master { ID PK Catrgory DateTime } I wanted to update Catrgory coulmn of all records in the Master table with the Value of LastUpdate of the CategoryTable the where the ID of the both the table are same Can any one please let me know the query ~Mohan
View Replies !
COndition Spli - Error Date Condition
Dear friends, I'm having a problem... maybe it's very simple, but with soo many work, right now I can't think well... I need to filter rows in a dataflow... I created a condition spli to that... maybe there is a better solution... And the condition is: Datex != NULL(DT_DATE) (Some DATE != NULL) [Eliminar Datex NULL [17090]] Error: The expression "Datex != NULL(DT_DATE)" on "output "Case 1" (17123)" evaluated to NULL, but the "component "Eliminar Datex NULL" (17090)" requires a Boolean results. Modify the error row disposition on the output to treat this result as False (Ignore Failure) or to redirect this row to the error output (Redirect Row). The expression results must be Boolean for a Conditional Split. A NULL expression result is an error. What is wrong?? Regards, Pedro
View Replies !
UPDATE From A Table To Another Table On A Condition
I have four tables: Contact, Contact_Detail, Contact_Information and Contact_Main. I am trying to update a table called Contact_Detail with information from the other three tables. tbl=Contact pk=ContactId Contact_Name tbl=Contact_Information pk=Information_ID Information tbl=Contact_Detail detail_ID Contact_ID Information_ID detail tbl=Contact_Main (no pk, table is temporary) Contact_Name Airline Focal Title MailAddress1 MailAddress2 ShippingAddress1 ShippingAddress2 Country Email Phone Fax Notes Here is my pseudocode for transact SQL. I have completed QUERY1 and QUERY2 but not sure how to implement UPDATE 1. Any assistance is appreciated. Select Contact_Main.Contact_Person = Contact.Contact_Name (QUERY 1) Select Contact_Main.Focal = True (QUERY 2 from QUERY 1) Begin Create a Contact_Detail record (UPDATE 1 from QUERY 2) Contact.ContactID -> Contact_Detail.ConctactID For X = 1 to 12 Update Contact_Detail record with Increment PK -> Detail_ID X -> Information_ID Begin Case Airline=1 Focal=2 Title=3 MailAddress1=4 MailAddress2=5 ShippingAddress1=6 ShippingAddress2=7 Country=8 Email=9 Phone=10 Fax=11 Notes=12 End Case Next X End Begin
View Replies !
Insert Into Temp Table Based On If Condition
hello all,this might be simple:I populate a temp table based on a condition from another table:select @condition = condition from table1 where id=1 [this will giveme either 0 or 1]in my stored procedure I want to do this:if @condition = 0beginselect * into #tmp_tablefrom products pinner joinsales s on p.p_data = s.p_dataendelsebeginselect * into #tmp_tablefrom products pleft joinsales s on p.p_data = s.p_dataendTha above query would not work since SQL thinks I am trying to use thesame temp table twice.As you can see the major thing that gets effected with the condictionbeing 0/1 is the join (inner or outer). The actual SQL is much biggerwith other joins but the only thing changing in the 2 sql's is the joinbetween products and sales tables.any ideas gurus on how to use different sql's into temp table based onthe condition?thanksadi
View Replies !
Replace Characters On Condition In Table And Cell
need help condition 1 replace characters on condition in table and cells but only if how to do it - if i put * (asterisk) like in employee 111 in day1 - the the upper characters the (A S B) i replace characters with '-' and it must work dynamically condition 2 replace characters on condition in table and cells but only if if i put number or 1 , 2 , 3 , 4 above any cell for example( employee id=222 name =bbbb day1) i replace characters with '0' and '#' and it must work dynamically table before the replace id fname val day1 day11 day111 day2 day22 day222 day3 day33 day333 day4 day44 day444 day5 day55 day555 111 aaaa 2 A S B e t y R Y M j o p 111 aaaa 1 * * * * 222 bbbb 2 1 1 222 bbbb 1 A - - - B - 333 cccc 2 333 cccc 1 444 dddd 2 3 4 444 dddd 1 - - C C 555 EEE 2 A G C 555 EEE 1 * table after the replace id fname val day1 day11 day111 day2 day22 day222 day3 day33 day333 day4 day44 day444 day5 day55 day555 111 aaaa 2 - - - - - - - - - - - - 111 aaaa 1 null null null null 222 bbbb 2 0 0 222 bbbb 1 # - - - # - 333 cccc 2 333 cccc 1 444 dddd 2 0 0 444 dddd 1 - - # # 555 EEE 2 - - - 555 EEE 1 null tnx for the help
View Replies !
How To Make Table Row Invisible Based On Certain Condition
HI I have the following scenario in my report. -The data is displayed in a table -The table groups by one field -Each table row calls a subreport -There is about 6 paramaters in the report -The last paramater of the list of paramters is a multivalue paramater and based on what is selected in the list the corresponding subreport must be shown. -So i use a custom vbscript funtion to determine if a specific value was selected or not. This functionality is working fine. My problem is if the user does not select all the values in the multi select then i want to make the row invisble and remove the whitespace so that there is not a gap between the other subreports which is shown. I can make the subreport invisible inside the row but there is still the white space which does not display very nicly. How can i make the row invisible if the vbscript function that is called returns a false value? Here is the funtion I call -> Code.InArray("ValueToSearchFor", Parameters!MultiValueDropDown.Value) The Function returns a true or false. Thanks.
View Replies !
Replace Characters On Condition In Table And Cells
need help replace characters on condition in table and cells but only if if i put number or 1 , 2 , 3 , 4 above the cell of the eployee for example( employee id=222 name =bbbb day1) i replace characters with '0' and '#' and it must work dynamically AND replace ONLY THIS characters table before the replace id fname val day1 day11 day111 day2 day22 day222 ------------------------------------------------------ 111 aaaa 2 1 3 111 aaaa 1 A C 222 bbbb 2 222 bbbb 1 333 cccc 2 333 cccc 1 444 dddd 2 444 dddd 1 555 eeee 2 2 555 eeee 1 B table after the replace id fname val day1 day11 day111 day2 day22 day222 ------------------------------------------------------ 111 aaaa 2 0 0 111 aaaa 1 # # 222 bbbb 2 222 bbbb 1 333 cccc 2 333 cccc 1 444 dddd 2 444 dddd 1 555 eeee 2 0 555 eeee 1 # tnx FOR THE HELP
View Replies !
Adding A Column Name To A Table In Each Of The Databases Based On A Condition
i have the folowing databases DB1,DB2,DB3,D4,DB5........ i have to loop through each of the databases and find out if the database has a table with the name 'Documents'( like 'tbdocuments' or 'tbemplyeedocuments' and so on......) If the tablename having the word 'Documents' is found in that database i have to add a column named 'IsValid varchar(100)' against that table in that database and there can be more than 1 'Documents' table in a database. can someone show me the script to do it? Thanks.
View Replies !
Trying To Create A Proc That Will Insert Values Based On A Condition That Is Another Table
Can someone give me a clue on this. I'm trying to insert values based off of values in another table. I'm comparing wether two id's (non keys in the db) are the same in two fields (that is the where statement. Based on that I'm inserting into the Results table in the PledgeLastYr collumn a 'Y' (thats what I want to do -- to indicate that they have pledged over the last year). Two questions 1. As this is set up right now I'm getting NULL values inserted into the PledgeLastYr collumn. I'm sure this is a stupid syntax problem that i'm overlooking but if someone can give me a hint that would be great. 2. How would I go about writing an If / Else statement in T-SQL so that I can have the Insert statement for both the Yes they have pledged and No they have not pledged all in one stored proc. I'm not to familar with the syntax of writing conditional statements within T-SQL as of yet, and if someone can give me some hints on how to do that it would be greatly appriciated. Thanks in advance, bellow is the code that I have so far: RB Select Results.custID, Results.PledgeLastYr From Results, PledgeInLastYear Where Results.custID = PledgeInLastYear.constIDPledgeInLastYear Insert Into Results(PledgeLastYr) Values ('Y')
View Replies !
Update Statement Performing Table Lock Even Though Where Condition On Clustered Primary Index?
Hi All,I have a database that is serving a web site with reasonably hightraffiic.We're getting errors at certain points where processes are beinglocked. In particular, one of our people has suggested that an updatestatement contained within a stored procedure that uses a wherecondition that only touches on a column that has a clustered primaryindex on it will still cause a table lock.So, for example:UPDATE ORDERS SETprod = @product,val = @valWHERE ordid = @ordidIn this case ordid has a clustered primary index on it.Can anyone tell me if this would be the case, and if there's a way ofensuring that we are only doing a row lock on the record specified inthe where condition?Many, many thanks in advance!Much warmth,Murray
View Replies !
Parent/Child Rows In Report, Nested Table, Textbox Value In Filter Condition
Hi All, I am working on SQL server 2005 Reports. I have one report, one dataset is assigned to it, and one table which displays it. Now I come accros requirement that, the column value in the filter condition for the table is present in one textbox. I can not use textbox i.e. reportItems in filter condition. Can someone suggest me how to use textbox value in filters? I want to display parent/child records on report. I am not getting the proper solution. The data is like this: Sequence ItemCode IsParent 1 XYZ 0 'do not have child record 2 PQR 1 'have child records with sequence no 3 3 ASD 0 3 AFDGE 0 3 VDC 0 4 ASR 1 'have child records with sequence no 5 5 ASR 0 If IsParent = 1, that record has child records with sequence = parent sequenece + 1 I think u can understand the data I need to bind, and it is like: XYZ + PQR ASD AFDGE VDC ASR On + click we can do show/hide of child records. I m not getting how to achive this in SQL server report. Can u give some hint? Thanks in advance Pravin
View Replies !
How To Filter A Table With An &&"OR&&" Condition
I'd like to set the Filters in the Filters tab of the Table Properties dialog to say: =Fields!WT_TO.Value > 0 OR =Fields!WT_TO_PREV.Value > 0 but teh And/Or column is permanently disabled, and its sticking in a default value of AND what's up with that?
View Replies !
Multiple Columns In Table That Reference 1 Lookup Table
Hello,I have a query that I need help with.there are two tables...Product- ProductId- Property1- Property2- Property3PropertyType- PropertyTypeId- PropertyTypeThere many columns in (Product) that reverence 1 lookup table (PropertyType)In the table Product, the columns Property1, Property2, Property3 all contain a numerical value that references PropertyType.PropertyTypeIdHow do I select a Product so I get all rows from Product and also the PropertyType that corresponds to the Product.Property1, Product.Property2, and Product.Property3ProductId | Property1 | Property2 | Property3 | PropertyType1 | PropertyType2 | PropertyType3 PropertyType(1) = PropertyType for Property1PropertyType(2) = PropertyType for Property2PropertyType(3) = PropertyType for Property3I hope this makes sence.Thanks in advance.
View Replies !
Condition (if / Else) In SQL?
Hi all,I'm building a DataSet on Visual Studio and don't know how to do a condition (if/else) with SQL... I have a search form, with a DropDownList and have 2 options in it: Search by Title or Search by Author. If the "Title" is selected, then the value is "title and if "Author" is selected, then the value is "author".Here is what I have right now for the DataSet, as seperated queries but I think I can combine them to be one single query 1.This will returns the songs that matches the title:SELECT LYRICS_PK, LYRICS_TITLE, LYRICS_TITLE2, LYRICS_WRITER, LYRICS_WRITER2, LYRICS_COWRITER, LYRICS_DATE_ADDED, UserId_FK, LYRICS_APPROVED, LYRICS_TYPE, LYRICS_VIEWS, LYRICS_ADDED_BYFROM t_lyricsWHERE ((@LYRICS_TITLE IS NULL) OR (LYRICS_TITLE LIKE '%' + @LYRICS_TITLE + '%') OR (LYRICS_TITLE2 LIKE '%' + @LYRICS_TITLE + '%')) AND (@LYRICS_TYPE = 'title') 2. This returns the songs that matches the author: SELECT LYRICS_PK, LYRICS_TITLE, LYRICS_TITLE2, LYRICS_WRITER, LYRICS_WRITER2, LYRICS_COWRITER, LYRICS_DATE_ADDED, UserId_FK, LYRICS_APPROVED, LYRICS_TYPE, LYRICS_VIEWS, LYRICS_ADDED_BY FROM t_lyrics WHERE ((@LYRICS_AUTHOR IS NULL) OR (LYRICS_AUTHOR LIKE '%' + @LYRICS_AUTHOR + '%') OR (LYRICS_AUTHOR2 LIKE '%' + @LYRICS_AUTHOR + '%')) AND (@LYRICS_TYPE = 'author') This is very inefficient because I have 2 queries, and I need to build 2 ObjectDataSources as well as 2 different GridViews to display the results. I think we can do something likeSELECT .... ... FROM t_lyricsif (@LYRICS_TYPE = 'title') DO THE WHERE CLAUSE THAT RETURNS MATCHES WITH TITLEelse if (@LYRICS_TYPE = 'author') DO THE WHERE CLAUSE THAT RETURNS MATCHES WITH AUTHOR But I don't know how to write that in T-SQL.Any help would be greatly appreciated,Thank you very much,Kenny.
View Replies !
Where Condition
da = New Data.SqlClient.SqlDataAdapter("SELECT [Products].[Names], Count([ProductList].[Products]) AS [Total] FROM [Products] LEFT JOIN [ProductList] ON [ProductList].[Names] = [Products].[Names] GROUP BY [Products].[Names] ", strConnection) can we use a where condition in the statement.If so how can we use it.
View Replies !
Where Condition
hi i want to give .text filed of a TextBox to where condition but the result is not correct. The SQL is like following: selStr = "SELECT COUNT(*) FROM Users WHERE (Name = usernameTextBox.Text) and (Password = passwdTextBox.Text)"
View Replies !
Only NOT Condition In CONTAINS
Hi All, I have stored Candidates Resume in binary(Image) format in database. I have a search feature to search resume. For Example: with all these words: ASP.Net, SQL Server, 2 Years without these words: Java Here I get Candidate which CONTAINS("ASP.Net" AND "SQL Server" AND "2 Years" AND NOT "Java") Now I want to search candidates only without these words: Java it means the condition is CONTAINS(NOT Java) is this possible? if yes, how? Thanks in advance.
View Replies !
WHERE Condition
Hi, In following query, I use three conditions in WHERE caluse. When I use only CreditUnion.Id=@CreditUnionID Then I get the right value set. But when I join other two conditions , i get all the values instead of relevant data for that parameter. Can anyone say why it happenes? Code Block SELECT Member.LastName + ' ' + Member.FirstName AS MemberName, CASE WHEN CuStatus = 'Existing' THEN 'Existing' ELSE 'New' END AS MemberType, EnumCUMembershipStatus.UIText AS Status, CDOrder.DecidedOnCU, SysUserLogon.LastName + ' ' + SysUserLogon.FirstName AS CUDecisionOfficer, 'CD' AS ProductType, CreditUnion.Name FROM Member INNER JOIN CDOrder ON Member.LastCDOrderFK = CDOrder.Id AND Member.Id = CDOrder.MemberFK INNER JOIN CreditUnion ON Member.CreditUnionFK = CreditUnion.Id INNER JOIN EnumCUMembershipStatus ON Member.CuStatus = EnumCUMembershipStatus.Name INNER JOIN SysUserLogon ON CreditUnion.Id = SysUserLogon.CreditUnionFK WHERE (CreditUnion.Id = @CreditUnionID) AND (Member.CuStatus = 'Approved') OR (Member.CuStatus = 'Declined') UNION SELECT Member_1.LastName + ' ' + Member_1.FirstName AS MemberName, CASE WHEN CuStatus = 'Existing' THEN 'Existing' ELSE 'New' END AS MemberType, EnumCUMembershipStatus_1.UIText AS Status, LoanApplication.DecidedOnCU, SysUserLogon_1.LastName + ' ' + SysUserLogon_1.FirstName AS CUDecisionOfficer, 'Loan' AS ProductType, CreditUnion_1.Name FROM Member AS Member_1 INNER JOIN LoanApplication ON Member_1.LastLoanApplicationFK = LoanApplication.Id AND Member_1.Id = LoanApplication.MemberFK LEFT OUTER JOIN CreditUnion AS CreditUnion_1 ON Member_1.CreditUnionFK = CreditUnion_1.Id LEFT OUTER JOIN EnumCUMembershipStatus AS EnumCUMembershipStatus_1 ON Member_1.CuStatus = EnumCUMembershipStatus_1.Name LEFT OUTER JOIN SysUserLogon AS SysUserLogon_1 ON LoanApplication.SysUserLogonFK = SysUserLogon_1.Id AND LoanApplication.SysUserLogonCUFK = SysUserLogon_1.Id AND CreditUnion_1.Id = SysUserLogon_1.CreditUnionFK WHERE (CreditUnion_1.Id = @CreditUnionID) AND Member_1.CuStatus = 'Approved' OR Member_1.CuStatus = 'Declined'
View Replies !
No/any Condition
I have a query something like select a, b, c from mytable where a=@prmA If prmA is something like generic all, any, I want this query return value without condition. Is there a way to do this with sql or I should write stored procedure that checks @prmA and all other condition parameters and generate new SQL statement? Regards, Hakan
View Replies !
And / Or Condition
hi, i'm working on a query and have discovered something fairly simple regarding "and" / "or" condition. if I use e.g. id_product in ('1111','2222') as a result i should get all products that match id = 1111 and id = 2222. But if I do it like id_product in ('1111') and id_product in ('2222') as a result i get 0 rows returned, where as i want to find invoices that have both products, and not those which have either product 1111 or 2222 or even both :) thank you for any suggestions!
View Replies !
CONDITION
Hi,I want to write a SQL stmt.(condition) that checks the following @ActionPLanID > 0 and ActionPlanID exists in table A simultaneously? I was thinking of using IF NOT exists but don't know how to write it. Am I going in the right direction? Thanks, VBJP
View Replies !
Search Condition
Hi This is madhavi am working with a project with ASP.NET Using VB.NET.. i have requirement that i have to provide the result based on search condition.... First : For Serach i have to search based on given CITY and CATEGORY.... For this i have written a StoredProcedure like: ****************************************************************************************************************** Create PROCEDURE YellowPages_Search(@city nvarchar(50),@SearchWord nvarchar(200),@Name varchar(50) OUTPUT,@CompanyName varchar(50) OUTPUT,@Address varchar(1000) OUTPUT,@PhoneNo varchar(50) OUTPUT,@MobileNo varchar(50) OUTPUT,@Fax varchar(50) OUTPUT,@Email varchar(50) OUTPUT,@WebSite varchar(50) OUTPUT)AS declare @sql nvarchar(1000)set @sql='select * from YellowPages_Userdetails where city='''+@city + '''and (category like ''%' + @SearchWord + '%'' or subcategory like ''%' + @SearchWord + '%'') ' exec(@sql) GO ************************************************************************************************************************************************************************* Now i want to extend this search condition for LOCATION and SUBCATEGORY means my search condition should include CITY , LOCATION , CATEGORY and SUBCATEGORY (here the location and subcategory may be given or may not be given) so please help me out Thanks in Advance, Madhavi
View Replies !
IN CONDITION QUESTION
I am an ASP.NET Developer I am using two SQL Server databases, 2005 and sql express.I am using a select statement on an IN CONDITION One table, Table name = SOP10100 resides in a SQL Server 2005 DatabaseThe other table, Table name = ORDER resides on a SQL server express Database I am writing the following sql statement SELECT ORDERNO, CARRIER FROM SOP10100WHERE ORDERNO IN ('ORD000234','ORD000384',....) My question is how many values can I fit on this IN conditionI mean the maximum number of values (upperlimit) Is there a better way to do this Using ASP.NET ?
View Replies !
Copy On Condition
i have two tables A and B with the same fields, If the id field of table B equals id field in Table A i need to update th edata for that id row.If the id field doesn;t match then i need to insert a new record in tale A for that id that is i need to perform insertion or updation into table A depending on table B dataCan anyone give me some idea how to start?
View Replies !
Exclude Condition
i have two tables: "Person" and "Year". "Person" can have many "Year" (one to many relation). i want a query which returns all the records from "Person" where "Year" is 2005 but exclude if there is any "Year" with 2004. how can i write that query? any help will be appreciated. i did try <code> SELECT * FROM Person JOIN Year ON Person.Id = Year.PersonID WHERE Year.Year = 2005 AND Year.Year <> 2004 </code> but it doesn't seem to work. i want this query to return records from Person where there is no any year with 2004 but only 2005. If a person has both 2004 and 2005 exclude that person.
View Replies !
MS SQL IF ELSE Condition Checking
Hello,I have Table1 with column Email, which has mail addresses in theformat 'useremailid@'. Few of these Email values are NULL where nomail address was specified.In my View1 I'm using SUBSTRING like... Left(Email,CHARINDEX('@',Email)-1) AS EMAIL_NAME (to cut out the @ sign) FROM Table1 and getjust the usermailidAnyway, what I would like to do is use the above to get all theusermailids and have a condition that checks if Email field IS NULLand if TRUE replaces it with blank value ''So something like IF (Email IS NULL) THEN Email = ''I've never really used IF ELSE in a query and would be gratefull ifsomeone could help me out. I don't want to leave out the NULL valuesusing WHERE Email is NOT NULL, I just want to convert them to an emptystring ''Many thanks in advance :-)Yas
View Replies !
Condition With Group By
Data:PROJ PLAN TOTTIME UNITA P1 10 DAYA P2 10 HOURA P3 1 MONTHWHEN I'M DOING GROUP BY ON PROJAND CALCULATING TOTTIME IT CONSIDER ONE OF THE UNIT I.E. DAY, HOUR, MONTHI WANT TO SUMUP ALL WITH HAVING UNIT CALCULATION ALSO.10 DAY=10 DAYS10 HOUR=1.25 DAYS1 MONTH=20 DAYSTHE RESULT SHOULD BE LIKE THIS:PROJ PLAN TOTTIME (IN DAYS)-------------------------------A ALL 31.25-------------------------------THANKS IN ADV.T.S.NEGIJoin Bytes!
View Replies !
IF Condition In Join??
Dear GroupI'd be grateful if you can send me on the right track in achieving this.I have three tables A,B,C outlined as follows:Table: AField: RowIDField: EntityIDField: TypeIdentifierTable: BField: RowIDField: NameTable: CField: RowIDField: NameLet's assume I've the following records:Table A:1,1,02,1,1Table B:1,SmithTable C:1,XYZCorporationThe table joins are as follows:A.EntityID = B.RowIDA.EntityID = C.RowIDI would like to select all records from Table A and display the Names fromeither Table B or Table C, depending on the Field TypeIdentifier.E.g.: SELECT Name FROM A JOIN B ON (A.EntityID = B.RowID) JOIN C ON(A.EntityID = C.RowID) IF TypeIdentifier = 0 SELECT Name FROM B IFTypeIdentifier = 1 SELECT Name FROM CResultset:SmithXYZCorporationIs this somehow possible?Thanks very much for your time & efforts!Martin
View Replies !
SQL Query Condition
Hi, I am creating a stored procedure which takes a few paramaters. One of which is a string of comma separated codes. At the end of my select query the codes will be used in the where clause. What I'm doing is parsing the comma separated string and populating a temp table called #codes. So my query will look something like this: select * from tableA where tableA.col1 = 'something' and tableA.code in (select * from #codes) and.... However, the code paramater can be null and if this is the case I want the query to be called for all codes - i.e. I effectively want to remove the and tableA.code in (select * from #codes) part of the where clause. Is there any clever way of doin this other than having a if... else... and writing 2 queries - one with the and and one without it? Hope this is clear. Thanks, Wallace
View Replies !
MDX - Exclude Condition
I have to built a query to get the % for all the Region (Americas, Asia and Europe) from a cube. But in these regions some countries are excluded and treated seperate. Like Asia does not include India and Japan. How do I get the ASIA query using an EXCLUDE condition. Please help.
View Replies !
Using Alias In Where Condition
Can we do Select BookNo as Catalog from Books where Catalog = 12356 I need to find the way to use alias in "where" for very complex query Is anyone has way around it ? Thank you
View Replies !
Using Where Condition With Dates
I'm trying to make sql that check date in database Select ... From .... Where ((id=1) and (port=2) and (logdate=#12/31/2001#)); I'm getting 0 records even if its exist. I know the problem is in the "logdate=#12/31/2001#" What is the problem and why the sql ignores it ?
View Replies !
Where Condition Using Variable
Hi, I've come across a funny when using variables within a WHERE clause in a multiple JOIN statement. I have the following tables: Articles table ============== Article_ID int PK IDENTITY(1,1) Title varchar(128) Article_Date datetime Author_ID int FK REFERENCES Authors(Author_ID) Archive char(1) WaitingForConfirm char(1) Authors table ============= Author_ID int PK IDENTITY(1,1) Author_Name varchar(64) TextArticles table ================== ContentRow_ID int PK IDENTITY(1,1) Article_ID int FK references Articles(Article_ID) Content varchar(2048) Below is an extract from a fairly complex stored procedure used to search based on a variable number of values including Author, Title and Content. SELECT Articles.Article_ID , Articles.Title , Articles.Article_Date , Authors.Author_Name FROM Articles LEFT OUTER JOIN Authors ON Articles.Author_ID = Authors.Author_ID LEFT OUTER JOIN TextArticles ON Articles.Article_ID = TextArticles.Article_ID LEFT OUTER JOIN FileArticles ON Articles.Article_ID = FileArticles.Article_ID WHERE Articles.Article_Date BETWEEN @startdate AND @enddate AND (Articles.Archive > 'Y' OR Articles.Archive < 'Y') AND (Articles.WaitingForConfirm > 'Y' OR Articles.WaitingForConfirm < 'Y') AND Articles.Title LIKE @title AND authors.author_name LIKE @author AND TextArticles.Content LIKE @content ORDER BY Articles.Article_Date DESC If any of these variables are passed in as NULL I convert to '%' and any variable that is not null is altered to '%value%'. The problem arises with the @content variable - which is varchar(128). The following variables are passed in: @startdate = 'JAN 01 2000' @enddate = GETDATE() @author = 'smith' - which is changed within the procedure to '%smith%' @title = NULL - which is changed within the procedure to '%' @content = NULL - which is changed within the procedure to '%' The procedure returns 0 rows based on these criteria - even though if I hard- code these values the expected number of rows are returned. I have used various print statements throuout the procedure and the @content variable is always correctly established. I have come across this before with another table/column/join combination and am at a loss to explain it. Any help would be greatly appreciated. Many Thanks . . Greg
View Replies !
Between And In Search Condition
hi, if i use the following query, isn't it supposed to output same amount of records? select... from... where invoice.billcycle in (104,204,304) and select ... from ... where invoice.billcycle between 104 and 304 for some reason, i get 38 from the first and 7 from the second query. thanks for the help in advance
View Replies !
Stuck With OR Condition
Hi, I have a sql problem I'm trying to solve. I'm selecting from a table based on a foreign key, and the select returns 2 rows. The table has a column called type, and each row for the foreign key has a different type value. Hopefully the example below can help to explain: Case 1: PK | FK | Type | Text -------------------------- 1 | 226 | 0 | some text goes here 2 | 226 | 1 | NULL Case 2: PK | FK | Type | Text -------------------------- 3 | 334 | 0 | some text goes here 4 | 334 | 1 | actual text I want to select is in this cell I'm trying to create a select statement to grab the text for the foreign key I'm looking up. In case 2, I want the text where type=1 but in case 1 I want the text where type=0. I had started writing it as select text from table where fk=334 and ( (type=4 and text is not null) or type=0 ) but this returns both rows. What I what is something that I think is more akin to case a || case b expression in programming - if case a evaluates as true, use that, otherwise evaluate case b and use if true, otherwise return false. I hope you can understand what I'm trying to get and any suggestions would be much appreciated. Thanks in advance, Peter
View Replies !
Somewhat Dynamic Where Condition
I'm using sql server 2000. I'd like to create a stored procedure that has a somewhat dynamic where condition. I'd like to do sth like this: ALTER PROCEDURE [dbo].[sp_Situation](@type_data as integer )As ... declare @where_cond varchar(20) if @type_data = 1 set @where_cond = 'A, B, C' else set @where_cond = 'A' select col1, col2, col3... from table_1 where col1 in (@where_cond) A, B and C are single values (col1 contains or A or B or C, not a string 'A, B, C'). Is it possible to do sth like that?
View Replies !
Like Condition In Sql Statement
This is my sql query Select DOJ AS 'JoiningDate' from emp where DOJ like '%2008/09/04%' there are 8 records on this time.But it displays no result . The column is datetime datatype year month date or we need to mention any thing other than this.
View Replies !
If Null Condition
I have a this code SELECT @maxid = MAX(id) FROM Quote now i need to check if @maxid is null.. if so i want to set it as 1. how do i do this
View Replies !
How To Write This Condition?
Hi, I am trying to set up a conditional split. As usual, my books do not explain what I am trying to do :-) flat file source --> conditional split (if Column0 contains a certain string send to error file) In the Conditional Split Transformation Editor I have the following for "condition": FINDSTRING( "my search string", [Column0] ,1 ) TITLE: Microsoft Visual Studio ------------------------------ Error at myPkg [Conditional Split [8259]]: The expression "FINDSTRING( "my search string[Column0] ,1 )" is not Boolean. The result type of the expression must be Boolean. Error at myPkg[Conditional Split [8259]]: The expression "FINDSTRING( "my search string[Column0] ,1 )" on "output "Case 1" (8351)" is not valid. Error at myPkg [Conditional Split [8259]]: Failed to set property "Expression" on "output "Case 1" (8351)". As you can see I want it to search Column0. Can someone please point out my error. Thanks
View Replies !
|