I Am Really Confusing Please Help Me About A Single Query
Sep 1, 2005
Hi Guys,This is my Problem.A table contain following desing for handling different level of categories, bu it is dynamic int_categoryid,int_parent_categoryid,int_categorylevel,str_categoryname,bit_activethatall.I want to list data from table as following ordercategorry_parent11 category_child12 category_child13 category_child23 category_child22categorry_parent21.............................................................................................like this..ie we can insert parent category and sub category to n level dynamically without adding a new tableplease mail me for another clarification....please help meregardsAbdul
I am looking to query one table where the matching information in the related table needs to be a subset of the data - but not always a complete set (and there may be added information in the related table). For example, if I have a table of Albums and I want to match songs to albums as follows:
Albums
Name CHAR_TYPE CHAR Rock guitarists Genre Rock Rock guitarists Instrument Guitar Great Guitar Instrument Guitar Rock and Blues Genre Rock Rock and Blues Genre Blues
Songs
Name CHAR_TYPE CHAR Purple Haze Genre Rock Purple Haze Instrument Guitar Purple Haze Artist Hendrix Red House Genre Blues Red House Instrument Guitar Red House Artist Hendrix Stairway to heaven Genre Rock Stairway to heaven Instrument Guitar
For this query, the results should be
Album Song Rock guitarists Purple Haze & Staiway to Heaven Great Guitar All 3 Rock and Blues All 3
Everything I've tried either incudes extra songs (Rock Guitar includes Red House) OR Eliminates entire albums (everything else works, but rock and Blues produces no results
I need to select a list of products based on a complex criteria. First off, here is a list of the tables I am using and their function.
Dbo.Products – This table holds product names and information.
Dbo.Products_Attributes – This table holds a list of attributes for each product. It has a many to 1 relationship with Products. This table holds only 2 fields – ProductID and AttributeID
Dbo.Customers – This table holds basic customer information and some of the needed criteria for the product search.
Dbo.Customers_Attributes – This table contains a list of attributes that the customer needs in his/her products. This table has a many to 1 relationship with Customers and only has 2 fields, CustomerNum and AttributeID
Dbo.Attributes – This table contains all of the different attributes possible for our products to have. Each can be used by a customer when choosing criteria.
Background: Each attribute is a True / False. Either they want that attribute, or they do not care if they get it or not. This is where the hard part comes in. If a particular attribute is listed as needed in dbo.Customers_Attributes, then I do not want any records pulled from Products that DOES NOT have this attribute. On the other hand, if the attribute is NO listed in the customers_attributes list, it is assumed that the customer wants it. In other words, if there were NO attributes in the customers_attributes list, ALL products would be returned. Attributes listed in the customers_attributes table are “required� (no product will be returned that does not have what is in the list).
I hope I was clear enough… I had to change the table names a functions slightly because of some stupid policy about giving out too much proprietary information here.
If any of you know how to do the above with a subquery of some kind, please let me know.
select distinct advert.advertiser_id, advert.advert_id, advertiser.fullname from advert join advertiser on advert.advertiser_id = advertiser.advertiser_id where category = @category GO
Anyway, The following two select statements return exactly the same results, and utilize exactly the same server resources to run (according to the generated explain execution plans).
The where clause(s) in each are designed to exclude rows that are "empty" according to the designer of the db (don't ask...*rolleyes*).
My question is this...which way would y'all code the select. I have always been "trained" to NOT use negative logic (heh,heh,heh), so originally wrote the select (which, in effect, translates to "get me everything but the empty rows") as:SELECTOSID AS OSID, [Year] AS QtrYear, 1 AS QuarterNo, QEPS4 AS EPS, QSales4 AS Sales, QInc4 AS Income, CONVERT(varchar(10), QDate4, 101) AS EarningsReportDate FROM dbo.RSMsi WHERE ((QEPS4 <> 0.001 AND QEPS4 <> 0.0) OR QSales4 <> 0.0 OR QInc4 <> 0.0 OR QDate4 <> '01/01/1900')but in retrospect, I think that's an ugly where clause, and think folks will look at it and think "WTF??? what does THAT mean?". So, I re-wrote the select as if it was looking for the empty rows, then slapped a "NOT" in front of the where clause to negate it in order to STILL say "Get me everything, but NOT the empty rows", as follows:SELECTOSID AS OSID, [Year] AS QtrYear, 1 AS QuarterNo, QEPS4 AS EPS, QSales4 AS Sales, QInc4 AS Income, CONVERT(varchar(10), QDate4, 101) AS EarningsReportDate FROM dbo.RSMsi WHERE NOT ((QEPS4 = 0.001 OR QEPS4 = 0.0) AND QSales4 = 0.0 AND QInc4 = 0.0 AND QDate4 = '01/01/1900')whatcha think y'all? It's a style issue, I know...just curious for consensus' sake. Thanks!
I have 5 tables, the first 4 are responsible for getting wines with all their associated info:
Areas - Regions - Wineries - Wines
The last table is an artwork table, and both wineries and wines can have artwork associated with them. How do I integrate a join on the 'Artwork' table for both wineries and wines, taking into account that sometimes (for a single record) there is art for both winery and wine, sometimes for one, sometimes there is none?
I think I understand the 'ON' statement, for instance:
Wineries LEFT JOIN Artwork ON Wineries.winery_id = Artwork.artwork_winery_id
'and'
Wines LEFT JOIN Artwork ON Wines.wine_id = artwork_wine_id
But how do I integrate that into the following SELECT statement?
I'm stuck trying to pull together what is for me a complex join statement. I have 8 tables following, and would like to figure out how to extract all users and roles (if they have any associated) when given a company and division. I have given a couple examples the way they should be output.
domainuser belongs to both domainAuditConfig and domainLookupConifg windows groups.
When domainuser logs in, he will have both AuditConfigRole and LookupConfigRole roles.
If I reconfigure the above using loginless user, how can the user takes on both roles at the same time?
It seems to me that the user needs to know what role he needs at the time and run the appropriate EXECUTE AS command. Is this true? I can see the benefits of using EXECUTE AS when we are testing our code. But in a production environment, how can the end user know who to EXECUTE AS?
Does it only make sense to use EXECUTE AS from within an application?
I have a gridview that is very basic and list name, address, ......., and a URL. If I have this url in the database I have no problem http://www.lubbockisd.org/earlychildhood/ yet when I place this URL http://www.lubbockisd.org/erlychildhood/stubbs.htm It triggers this error on my localhost server and my production server. Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints. I've made changes to datatypes with no success, made sure my length of data type was set long enough with no success. Which datatype is best for a URL in sql express? Any ideas why this happens with such a minor change?
Hi,I have a table for storing my picture albums here it is:CREATE TABLE [UserAlbum] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [UserID] [int] default(0) , [AlbumName] [nvarchar] (100) NULL , [Audience] [int] default(0) , [Date_added] [smalldatetime] NULL , CONSTRAINT PK_CmmNet_userAlbum_ID PRIMARY KEY CLUSTERED ( ID )) ON [PRIMARY]GO it has a field called "audience" as the name defines i want to choose who will see my albumsit is integer and as follows:0 value=everyone1=friends only2=private as i started to write a query for it i came into this problem: for exampleif i write SELECT * FROM UserAlbum where audience=1 then only friends can see the infowhat happens to everyone with value of 0?when i set it to 0, friends should also be able to see the info because it is set for everybody i noticed i should use "in cluase" like thisSELECT * FROM UserAlbum where audience in ('0','1') > so in this way both everyone and also friends can see the info or maybe i should add 3 different fields for private,public,friends it seems to be simple but at the same time harddoes anyone have a suggestion?
Hey everyone,I've got a problem and I can't tell if it's in the stored procedure I'm calling, or it's with the Binding it to the datalist.The error is Syntax error converting datetime from character string.The code it crashes on is:Line 100: //Bind data Line 101: dg_details.DataSource = reader; Line 102: dg_details.DataBind(); Line 103: dg_details.Visible = true; and my store procedure I'm calling is: ALTER PROCEDURE coglej.GetEventsForDate @eventdate datetime, @eventowner varchar (50)
AS
IF DATEDIFF(ww,GetDate(),@eventdate ) > 2 BEGIN PRINT 'Getting EB event price.' SELECT dbo.events.event_date, dbo.locations.city, dbo.locations.state, dbo.locations.name, dbo.locations.address1, dbo.locations.address2, dbo.locations.zip, dbo.skus.sku_id, dbo.skus.event_type, dbo.skus.price, dbo.skus.slots_available FROM dbo.events INNER JOIN dbo.locations ON dbo.events.location_id = dbo.locations.location_id INNER JOIN dbo.skus ON dbo.events.sku_id = dbo.skus.sku_id WHERE (dbo.events.event_date = CONVERT(datetime, '@eventdate')) AND (dbo.skus.owner = @eventowner) AND (dbo.skus.price_type = 'Early')
END ELSE BEGIN PRINT 'Getting regular event price.' SELECT dbo.events.event_date, dbo.locations.city, dbo.locations.state, dbo.locations.name, dbo.locations.address1, dbo.locations.address2, dbo.locations.zip, dbo.skus.sku_id, dbo.skus.event_type, dbo.skus.price, dbo.skus.slots_available FROM dbo.events INNER JOIN dbo.locations ON dbo.events.location_id = dbo.locations.location_id INNER JOIN dbo.skus ON dbo.events.sku_id = dbo.skus.sku_id WHERE (dbo.events.event_date = CONVERT(datetime, '@eventdate')) AND (dbo.skus.owner = '@eventowner') AND (dbo.skus.price_type = 'Regular')
ENDWhat's cause the crash are the quotes around @eventdate. However, without them, it doesn't return all the rows (if any) and if I have them in, I get this error. The odd thing is that when I copy and paste one of the SELECT statements into the VWD sql window and replace the variables with the same values I'm using at runtime, everything runs fine.Anyone have any ideas?Thanks in advance,--Joel
Hi, I have a SQL2k STD with SP3 installed. Currently, only one database db_XYZ is there. The server has been started up since 07/03/2003 16:00 pm. But in the sql server current log: "Starting up database 'db_XYZ'." info is spreading from that time (16:00 pm) to this morning 10:00am at an interval from every 1 minute to 4 minutes.
Why need to 'Starting up' this database so much times? This reminds me that this 'Starting up' is kind of 'abused' in many other servers. Any idea?
I've been looking on-line for about a day now and can't find what I'm looking for. I don't know much about ActiveX and even less about using it in a DTS package. If you guys could help me out be telling me what to use/give a few minimal examples I can figure the rest out. I just can't find enough info on the web to do what I want.
I'll describe what I've got, what I'm trying to do with it, and we'll see what you guys think.
What I've got: A table that stores To, Subject, MsgText, MsgHTML, and FileAttachment locations.
What I'd Like to do: Write out the info in the table into a text file and then copy it to the Pickup folder to be sent. Now, I know DTS has an e-mail task, but the Dynaprops/e-mail task are being flaky. The information in the E-Mail doesn't always seem to update like I'd like it.
How I was planning on doing it: Write an ActiveX script to Create the E-mail, store it in the DB, and then Write it out to the txt file to be sent.
I think this'd be a good way to do it, but then again I could be wrong. Maybe use something else? Please help. I could use it.
Ok, i have been trying to restore the company helpdesk server since our move at the start of the year and after it was sitting doing nothing for a good six months or so.
I finally got the server going (after extensive messing about on our test box), but i'll set out the scenario for you:
Test Server: XW4000 (win2k Advanced Server + SQL Server 2k) Main Helpdesk Server :BK_MAN5_INV (NT4 SP6 + SQL Server 2k) Client Machines: BK_CI_03006 and BK_CI_03010
Now for the problem. Both the test server and the main helpdesk server have been configured in the exact same way, and BK_CI_03006 has no problems connecting to either server. However, BK_CI_03010 can only connect to the test server and not the main helpdesk server.
We are planning on removing the test server as soon as this is sorted, but i have no idea why there is this problem with the machine.
If anyone can provide any input on this at all, i would be really grateful.
I am new to MS SQL coding and I am having a problem with date conversions. In PL/SQL, I could convert numeric months into character months in their own columns by using the DECODE function. An example would be:
In the Books on Line of MSSQL2000 In "Adding a Member to a SQL Server Database Role"
There is this "Note : When you add a Windows NT 4.0 or Windows 2000 login without a user account in the database to a SQL Server database role, SQL Server creates a user account in the database automatically, even if that Windows NT 4.0 or Windows 2000 login cannot otherwise access the database."
I mean how can anyone add a login to a database role without making the login a user of the database.:shocked: Also if it worked, a new fancy feature to add new logins??:eek: Plz help:S
After downloading and installing this tool, I'm confused. The documentation refers to a wizard, which I can't find in the Start menu.
Development team: Where is this wizard? This is a great idea that I'm certain many people can benefit from--- please make some better documentation, and give us a product that does what the documentation says.
Q. How do I license SQL Server 2005 for my virtual environments?
A. For Standard, Workgroup, and Enterprise, if you decide to license on a per processor basis, you must buy a SQL Server license for each virtual processor. For Enterprise Edition, you can also choose to license all physical processors in a box. This gives you rights to run SQL Server on unlimited number of virtual processors running on the same machine. For Server/CAL mode, for Standard and Workgroup, you must obtain SQL Server licenses for each Virtual Operating System Environment on which you run instances of SQL Server. However, for Enterprise, if you have a Server license for the physical Server, you may run unlimited instances of SQL Server in any Virtual Operating System Environment that you run on that same machine.
If you are using hardware partitioning on a multi-processor server, you get unlimited virtualization for SQL Server Enterprise Edition as long as all processors in that hardware partition are licensed. For example, if you have a hard partition of 10 physical processors on a 32-processor superdome server, 10 processor licenses of SQL Server 2005 give you rights to run free unlimited virtual machines with SQL Server on those 10 physical processors.
I came up with the following table-format explanation to make sense of it all:
Licensing Mode
Applies to
Number of licenses needed
To get this many standalone instances
Per processor per virtual
Standard, Workgroup, Enterprise
#virtual OSs * #virtual CPUs
Standard, Workgroup: #virtual OSs * up to 16 instances Enterprise: #virtual OSs * up to 50 instances
Per processor per physical
Enterprise
#physical CPUs
¥ virtual OSs * up to 50 instances
Per seat (aka Server + CAL) per virtual
Standard, Workgroup, Enterprise
#virtual OSs + S(users)
Standard, Workgroup: #virtual OSs * up to 16 instances, among S(users) Enterprise: #virtual OSs * up to 50 instances, among S(users)
Per seat (aka Server + CAL) per physical
Enterprise
1 physical OS + S(users)
¥ virtual OSs * up to 50 instances, among S(users)
Where: €œCPU€? is the number of CPUs as physically-recognized by the virtual OS or physical OS. CPUs enumerated by hyperthreading or dual-core processing and its corresponding host CPU are considered together one CPU. Refer to the Intel CPUCount utility for more information. €œ¥ virtual OSs€? represents the theoretical maximum number of virtual machines supported on hardware of physical host. €œS(users)€? represents the sum of unique users or devices that may or may not be concurrently connected at any time
To run instances of the server software in virtual operating system environments on a server, you need a software license for each virtual processor that each of those virtual operating system environments uses. If a virtual operating system environment uses a fraction of a virtual processor, the fraction counts as a full virtual processor.
"Per Server/CAL" page:
For each server software license you assign, you may run, at any one time, one instance of the server software in one physical or virtual operating system environment on the licensed server.
We're trying to follow the principle of least privilege here in setting up a user account for our website to use to access SQL Server 2005, but we're having a nightmarish time getting it to work.
The issue seems to be trying to get a limited access user account the ability to cross databases.
Here's the situation:
We have a User [WebUser] that we want to grant access to the database. This account has a login [WebUser] that has username=WebUser and password=ALongPassword.
This user only calls stored procedures in the database [WebData].
However, some of the stored procedures in [WebData] call stored procedures in the database [dbutil].
One of the stored procedures in [dbutil] inserts records into a table in a third database [dbutil_temp].[DebugLog].
This all works out great from my development account using Windows Authentication.
But as you might guess, if I do something like "EXECUTE AS [WebUser]" and run the same procedure on [WebData] things fall apart quickly. I've looked online regarding cross-database ownership chaining, but quite frankly, the whole users/logins/roles/schemas security model is confusing, and I'm getting nowhere fast on my own.
We really only want [WebUser] to have CONNECT and EXECUTE permissions on the primary [WebData] database, but it seems like we've got to do a lot more than that to get this to work.
-- Error 1 OLE DB error: OLE DB or ODBC error: The query has been canceled because the estimated cost of this query (628) exceeds the configured threshold of 300. Contact the system administrator.; 42000. 0 0
Error 2 Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Revenue Labeled Prod ~MC-LPROD', Name of 'Revenue Labeled Prod ~MC-LPROD' was being processed. 0 0 --
I don't understand why this happens. Previously I've created one cube and 4 dimensions. I got the same error before. I think the cube was the culprit so I removed the cube and dimensions. After removing them, I build the project. Successful. But fail again when processing the mining model. The mining model was fairly simple, only 3 columns (one key time, one key, one input as well as predicted column, using Microsoft Time Series algorithm).
Why the estimated cost is even higher when I created another project using only one table (Revenue, the same fact table)?
Error 1 OLE DB error: OLE DB or ODBC error: The query has been canceled because the estimated cost of this query (1493) exceeds the configured threshold of 300. Contact the system administrator.; 42000. 0 0
I worked in local machine, there should be no network-related issue when querying. The machine is 2-processor Xeon 2.4 GHz with 3 GB memory.
How to solve this problem? I have checked the Properties of Analysis Service. I have set higher value for timeout in ODBC Administrator.
I'm trying to read rows from a SQL Server Table and for each row use a few columns as parameters into a query to be run against oracle which will delete oracle rows.
I add OLDEB connections for Oracle and SQL and then I try to add a "Execute SQL Task". I've also tried a "OLE Command" but I can't get the mapping of the columns to the parameters to work.
There is lots of articles on the web that talk in general around parameterized queries but no clear examples.
I also find the difference between the Control Flow and Data Flow tabs confusing as its not intuitive where to place things. It also appears to force me to re-define things that it should already know (this is no doubt because I'm interpreting what I've done / acheived wrongly).
I have my source and destination on the "Data Flow" tab along with a "Execute SQL Task" object in the middle.
I'm setting its "connection manager" the Oracle (i.e. the destination where I want the deletes to be executed). I don't follow why this also has a "connection property, surely this it set when I drag the output of the SQL Server OLEDB Source to the input of the "Execute SQL Task".
Perhaps I'm expected too much from the wizards / dialogs and I have to create "variables" and "parameters" myself?
Any help or suggestions would be very much appreciated.
Hi, I have received a text file in the following format: MthYear Customer Quantity Price Total Apr2003 Allan 100 5 500 --------- Austin 25 2 50 --------- George 1500 1 1500 ---------- Jessy 200 2 400 Apr2004 Jerry 600 3 1800 --------- Stella 250 2 500 June2005 XXXX 50 5 250
I am exporting this text file in Sql Server database table. After exporting I need to Update the MtnYear field marked as ------- to appropriate year. ie The MthYear field for Austin, George,Jessy should be updated with Apr2003, The MthYear field for Stella should be updated with Apr2004 iiily, for other records. Let me inform if this is possible with the help of a single query or any better way of doing it. The records that i need to update is more than 2 lakhs. I am sorry if u feel this questionis not apropriate.
So I have code to fill my repeater with a data: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim cnn As Data.SqlClient.SqlConnection = New Data.SqlClient.SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("db_ConnStr").ConnectionString) Dim cmd1 As Data.SqlClient.SqlDataAdapter = New Data.SqlClient.SqlDataAdapter("SELECT aspnet_Users.UserName, COUNT(forum_posts.post_id) AS IlePost, forum_posts_1.post_content, forum_posts_1.topic_id, forum_posts_1.post_id, forum_posts_1.post_date FROM aspnet_Users INNER JOIN forum_posts ON aspnet_Users.uID = forum_posts.user_id INNER JOIN forum_posts AS forum_posts_1 ON aspnet_Users.uID = forum_posts_1.user_id GROUP BY aspnet_Users.UserName, forum_posts_1.post_content, forum_posts_1.topic_id, forum_posts_1.post_id, forum_posts_1.post_date HAVING (forum_posts_1.topic_id = @topic_id) ORDER BY forum_posts_1.post_date ASC", cnn) cmd1.SelectCommand.Parameters.AddWithValue("@topic_id", Request.QueryString("ID")) Dim ds As Data.DataSet = New Data.DataSet cnn.Open() cmd1.Fill(ds, "posts") Repeater1.DataSource = ds.Tables("posts") Page.DataBind() cnn.Close() End Sub And I want to take the value from column which I bolded - IlePost. I want take this out at compare with some condition. For example:Dim label as label = Repeater1.Findcontrol("Label1")If COLUMN < 10 thenlabel.text = "Less than 10"elselabel.text = "More than 10"I hope you understand me :-)
Table Name:-emp table structure:- Name Gender A Male B Male C FeMale D FeMale I want only one update query to update this table like this table structure:- Name Gender A FeMale B FeMale C Male D Male please help me?
I just need the single select to result the docnbr which is repeating the values. In the above case I want my result like below where the DocNbr 00002 and 00004 repeated their values.