SQL Server :: Both Keyword Using Joins In A Single Query?
Jul 29, 2010Is it possible to have ON and WHERE , both keyword using Joins in a single query
View 6 RepliesIs it possible to have ON and WHERE , both keyword using Joins in a single query
View 6 Repliesi am developing a web site in Asp.Net using Visual Studio 2008.i want to know that how can i search a keyword that will be entered by the user, i want the key word should be searched in complete database(all the tables)using a single query.I am using sql database. how can the keyword be searched using like parameter...
View 1 Replieshow to give a multiple inner joins to the single table
View 1 RepliesOne of my peer wrote a query based on multiple tables using joins. One of the table is in a different database The query was taking much time
1. Create an SP
2. Create a temp table and copy all records from the external db
3. Avoid using Left Join as much as possible and use Inner Join
4. Create and use indexes
5. Remove tables/columns that are not necessary
In this scenario, I would like to suggest to use Covering Index, but how can it be created for multiple tables and a temp table?
I have one question regarding how to make the below mentioned type of query more optimized so that mine query perfomace can be increased.
Select a.name1,a.address1,b.field3,c.field4,d.field6,e.field7
from a
inner join b on a.id=b.id
inner join c on c.id=b.id
inner join d on d.id=c.id
iner join e on e.id=d.id
union all
Select a1.name1,a1.address1,b1.field3,c.field4,d.field6,e.field7
from a1
inner join b1 on a1.id=b1.id
inner join c on c.id=b1.id
inner join d on d.id=c.id
iner join e on e.id=d.id
union all
Select a2.name1,a2.address1,b2.field3,c.field4,d.field6,e.field7
from a2
inner join b2 on a2.id=b2.id
inner join c on c.id=b2.id
inner join d on d.id=c.id
iner join e on e.id=d.id
All the above three select query at last using the same inner join condition, means last two inner join condition are the same for all the select query.
Is there any way so that this query can be optimized?
Is yield keyword is Statement keyword or Contextual Keyword?
Because in MSDN yield keyword is mentioned in both type of Keywords so i'm little bit confused in this.
I have to insert a multiple records under the single table.So i have to execute the command in the frontend for every records.
Inorder to avoid i write the query like this
insert into table1(field1,field2) values('1','Test1'),('2','Test2');
and also i tried
insert into table1(field1,field2)
SELECT "1","Test1"
Union all
SELECT "2","Test2"
But I am getting syntax error.
How to insert a multiple records under the single query?
I'm using this code for creating and xml file out of a SQL2005 table:
[Code]....
Is there a way for me to create multiple xml files, one for every row, going by the primary key column, or do I have to create a separate query for each row?
I would also wondering what is the syntax for transforming this query into a stored procedure
Here I'm using three tables given below. As u can see in the below three tables, 3 columns(P_Id,PdtName,PdtImgUrl) are same. Now can any body tell me how can I retreive values of 3 columns(P_Id,PdtName,PdtImgUrl) without repeatition.
Coming_Products(C_ID,P_Id,PdtName,PdtImgUrl,PdtRetPrice,Startdate),
Live_Products(L_ID,P_Id,PdtName,PdtImgUrl,PdtRetPrice,PdtCurPrice,UName),
Ended_Products(E_ID,P_Id,PdtName,PdtImgUrl,WinPrice,SavingPrice,UName,Endeddate)
I am using below query to count a particular column data based on single condition.
[code].....
But I have to calculate for 3 more conditions. Is it possible to count based on 3 conditions(i.e. 2001 - 3000,3001 - 4000, 4001 - 5000,>5000) and I want result set for all the conditions?
I have a sql table like this-
Sno part_no desc supplier currency price
1 10245890 abc abc electricals INR 0.320000
2 10245890 abc abc electricals INR 0.560000
3 10245890 abc def electricals USD 0.780000
4 10345780 def xyz electricals YEN 0.345678
5 10345780 def pqr electricals USD 0.000678
Now whenever user input the part_no output should be displayed like this- foe eg.. if user input 10245890, the ouput should be like this-
Sno part_no supplier1 currency1 price1 supplier2 currency2 price2 supplier3 currency3 price3
Means vertical records for particular part_no should be horizontally displayed in a single row. How can i write a sql query to achieve this?
For context: First of all, I am new to LINQ, as I have been using SubSonic for quite some time now.
I have two tables, Users, and Affiliates. They both have a very typical schema. The FK that joins them is the UserId field, which is in the Affiliates table. I want to create a LINQ query that pulls the Username from the Users table using the AffiliateId value. The AffiliateId is a primary key of the Affiliates table.
I have tried to accomplish this using many variations of the following code:
[Code]....
In the above query, I expect to get a single row result set. However, I instead receive the entire table of results.
How can I make this work? I have yet to see an example or article out there to do what I am trying to do.
I'm new to linq. here is the scenario i need to write query for.I have a "Candidate" table with a varchar property "Skill"I have the table OR-mapped with LINQ to SQL on dbml file. Now I want to write linq query that:Selects all Candidates that have skill containing any of the keywords from ("asp.net","php","java")
View 1 RepliesI have a select statement. I need to get a field value from the first statement. GOAL: Below is what I am trying to accomplish - the code below is not correct - Please modify the statement with the correct SQL Syntax. I want to query a table and based on the results I want to set the "If THE Else"statement to query then table with diffent inner joins.
SELECT * FROM CONTENTITEM CI
INNER JOIN CONTENTCATEGORY CC ON CI.CATEGORYID = CC.CATEGORYID
IF CI.FORMTYPE = 200 OR 300
SELECT * FROM CONTENTITEM CI
INNER JOIN CONTENTCATEGORY CC ON CI.CATEGORYID = CC.CATEGORYID
INNER JOIN CONTENTFORMFIELD CF ON CF.ITEMID = CI.ITEMID
WHERE CI.ITEMID = @ITEMID
ELSE
SELECT * FROM CONTENTITEM CI
INNER JOIN CONTENTCATEGORY CC ON CI.CATEGORYID = CC.CATEGORYID
WHERE CI.ITEMID = @ITEMID
Inner Join:- Returns a row when there is matching table in both tables. we can use comparison operator like =,<,>,<>
I created two tables
TableA
ID OID Type
1 1 A
2 6 B
3 7 C
4 10 D
TableB
ID Value
1 10
2 30
3 40
5 60
6 70
Basic Inner Join select Type From TableB as a inner join TableA as b on a.ID=b.OID Result Type
A
B
If i want only the type which has not match in tableB then i can use not in subquery i get the result if i m using select Type From TableB as a inner join TableA as b on a.ID<>b.OID then i get
Type
A
A
A
A
B
B
B
B
C
C
C
C
C
D
D
D
D
D
18 rows affetected i m suprise
I have a web service with a dataset and I need to fill a gridview in my web page with data from multiple tables (like 4). How can I retrieve data from my 4 tables and construct a datatable with a table adapter in the dataset? I need to create this in the web service to bind the gridview in my page. In SQL I create a view with the joins of the 4 tables and added the view to the dataset. It works fine, but for other windows in my web page I need to use like 8 trough 10 tables (just to retrieve one field of each one) and I don't know if making that huge joins is the more efficient way to retrieve data from the server. There is another way to make joins? (Make separate queries for each table and create one table in memory) How?
View 2 RepliesI have a web page with a GridView and a table outside the gridview to display more information of the record when it is selected (like record details). I'm using data of five tables for this particularly window. I use one table of the five to bind the gridview the other tables are for the details, but I use like 1 or 2 fields of those tables. I'm binding the page with web services. I need some advice on which is the better way for doing this to make a faster web page.
In sql server I made a view with the five tables (all the tables relations are working perfectly). In the web service I call the view; and in the web page I call the web service to bind the page. Everything is working. All I want to do is retrieve from the server all the necessary data only once when the page loads and bind the five tables data (like 18 fields total) in the gridview which I only show 12 fields the other 6 fields are hidden, those 6 are for the details which I get with jQuery (that's another topic). Bind everything only once and manage the data on client side. Everything is working perfectly. Here is my doubt.
How are the maximum table joins I can make? To retrieve the data via web and not get a server time out error. Which is a better way to make a faster page? Make 2 views one for the gridview and one for the details and put each view in a web service; or make one view with all the table joins and one web service. Right now all is working but I have to make other pages that use different tables and joins and I don't know if the server gets me the time out error when the page is fully working.
I would like to make a "select" from an Access (mdb) file in SQL Server 2008 R2. I was using:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','C:..FILE.mdb', 'SELECT * FROM Users')
But I´m getting the error: Msg 7308, Level 16, State 1, Line 1 OLE DB provider 'Microsoft.ACE.OLEDB.12.0' cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode.
I am searching for products out of my database:
AND (CONTAINS(P.name,
@contains_key)
OR
CONTAINS(P.description,
@contains_key)
OR P.sku
like
'%'
+ @Keywords
+
'%')
As you can see I'm using the CONTAINS statement and searching against the name and description fields.I would like to give the results a weight (or score) based on how often the word shows up and in what field.Example:if the word shows up in the name field -- give it 2 points every time the words appears.if the word shows up in the description field -- give it 1 point every appearance.Then ORDER the query based on the Score. And, perhaps add a where clause that the Score > 1 or some value.I realize, I will probably have to re-write my query and this "point" system may not be possible, but I know there is a way to weight results, but can't find any help online. I would also assume, this would be done in temp tables and select statements and directly in the where clause.
I am unable to find out what's wrong in this stored procedure...it says Incorrect syntax near the keyword 'else'.
07/09/2010 WEGMANS #098 Q02 STATE COLLEGE PA
$5.96
07/12/2010 WAL-MART #1640 QPS STATE COLLEG PA
$21.07
You are sharing a picture (58.7 KB) with 2venkatesh
cutie.jpg 2venkatesh declined the offer 2venkatesh is busy. You are sharing a picture (107.4 KB) with 2venkatesh
151377447_1d4ec57c68.jpg 2venkatesh declined the offer.You are sharing a picture (58.7 KB) with 2venkatesh
cutie.jpg 2venkatesh declined the offer
2venkatesh who are you buddy in my gtalk? who are the people in those pics?
12860701286070128607012860701286070128607012860701286070128607012860701286070[code]...
I was wondering how I would go about setting up the CASE keyword in SQL from my Web app. I have a table where I need to update anywhere between 20 and 300 rows with different values. My table looks like this
ID EventID SeatType SeatCount Status Comments
On my page, these rows are listed in a table with a textarea to add comments. So when I click a button I need to update All the comments for all the users of a certain "EventID".I think my SQL Statement should go something Like this:
UPDATE Events
SET Comments =
CASE [code]....
Is that correct? I would be getting the ID and comment from each row of the table. Also (using C#) what would be the most efficient way to get this information into the query? I was thinking to use a for statement but I hear many string concatenations requires lots of processing?
[Code]....
I have the data below:
id locationid cookieid username IPAddress createdate
1 704 192.168.0.103 2010-12-08 18:11:24.423
2 704 192.168.0.103 2010-12-08 18:13:26.133
3 704 myname@hotmail.com 192.168.0.103 2010-12-08 18:13:47.710
4 704 myname@hotmail.com 192.168.0.103 2010-12-08 18:16:42.730
5 704 myname@hotmail.com 192.168.0.103 2010-12-08 18:17:00.433
6 704 myname@hotmail.com 192.168.0.103 2010-12-08 18:18:09.867
7 1504 myname@hotmail.com 192.168.0.103 2010-12-08 18:26:01.447
Now, I want to select all unique locationid's from a single username, its important that the results can be PAGED and SORTED, I now have:
SELECT * FROM (select ROW_NUMBER() OVER (ORDER BY createdate) as RowNum,
distinct(locationid), l.*
FROM location_views lv
INNER JOIN locations l on l.id=lv.locationid
where lv.username='myname@hotmail.com'
) as info
WHERE RowNum > 0 AND RowNum <= 100
But this throws the error: "Incorrect syntax near the keyword 'distinct'."
I have a Query which I run as an SQL. This is my SQL:
"SELECT COUNT(*) As NoDup FROM [XXX Dir] WHERE (FileName Like 'XXX_YYY_20100916.txt')"
The "XXX Dir" is a table and "FileName" is a text field within that table.
When I execute the SQL in the Query development windows, it returns a single value like 2.
I would like to assign that value to a variable so I can use it in my VB code.
i want take a single value result from linq query
if i have :[Code]....
the variable result does not return nothing, only tostring() and similar how can i get a single result from linq query and use it in my ID variable?
I have an ASP.NET page which takes a number of parameters in the query string:
search.aspx?q=123&source=WebSearch
This would display the first page of search results. Now within the rendering of that page, I want to display a set of links that allow the user to jump to different pages within the search results. I can do this simply by append &page=1 or &page=2 etc.
Where it gets complicated is that I want to preserve the input query string from the original page for every parameter except the one that I'm trying to change. There may be other parameters in the url used by other components and the value I'm trying to replace may or may not already be defined:
search.aspx?q=123&source=WebSearch&page=1&Theme=Blue
In this case to generate a link to the next page of results, I want to change page=1 to page=2 while leaving the rest of the query string unchanged.
Is there a builtin way to do this, or do I need to do all of the string parsing/recombining manually?