If I Want To Join Two Sql Tables ...
Aug 22, 2007do they have to have a common primary key?
View 13 Repliesdo they have to have a common primary key?
View 13 RepliesHi guys,
I'll appreciate any help with the following problem:
I need to retrieve data from 3 tables. 2 master tables and 1 transaction table.
1. Master table TBLOC contain 2 records :
rcd 1. S01
rcd 2. S02
2. Master table TBCODE contain 5 records:
rcd 1. C1
rcd 2. C2
rcd 3. C3
rcd 4. C4
rcd 5. C5
3. Transaction table TBITEM contain 4 records which link to 2 master table:
rcd 1. S01, C1, CAR
rcd 2. S01, C4, TOY
rcd 3. S01, C5, KEY
rcd 4. S02, C2, CAR
I use Left Join & Right Join to retrieve result below (using non-ASNI method) but it doesn't work.
Right Join method:
SELECT C.LOC, B.CODE, A.ITEM FROM TBITEM A RIGHT JOIN TBCODE B ON A.CODE = B.CODE
RIGHT JOIN TBLOC C ON A.LOC = C.LOC
GROUP BY C.LOC, B.CODE, A.ITEM ORDER BY C.LOC, B.CODE
When I use Non-ASNI method it work:
SELECT C.LOC, B.CODE, A.ITEM FROM TBITEM A, TBCODE B, TBLOC C
WHERE A.CODE =* B.CODE AND A.LOC =* C.LOC
GROUP BY C.LOC, B.CODE, A.ITEM ORDER BY C.LOC, B.CODE
Result:
LOC CODE ITEM
-----------------------------
S01 C1 NULL
S01 C2 NULL
S01 C3 CAR
S01 C4 TOY
S01 C5 KEY
S02 C1 NULL
S02 C2 CAR
S02 C3 NULL
S02 C4 NULL
S02 C5 NULL
Please Help.
Thanks.
hi,
this are my tables...
student
stud_num
pk2
pk3
stud_group
1234
11
22
1
2147
88
66
2
2222
22
22
2
5432
55
44
1
9876
99
77
1
student1
stud_num
pk2
pk3
age
grade
pass
1234
11
22
21
77
0
5432
55
44
23
90
1
9876
99
77
23
90
1
student2
stud_num
pk2
pk3
age
grade
pass
2147
88
66
18
78
0
2222
22
22
15
90
1
and this is what I want to retrieve from these 3 tables
stud_num
pk2
pk3
age
5432
55
44
23
9876
99
77
23
2222
22
22
15
this my query....
SELECT student.stud_num, student.pk2, student.pk3, student1.age, student2.age AS Expr1FROM student INNER JOIN student1 ON student.stud_num = student1.stud_num AND student.pk2 = student1.pk2 AND student.pk3 = student1.pk3 INNER JOIN student2 ON student.stud_num = student2.stud_num AND student.pk2 = student2.pk2 AND student.pk3 = student2.pk3WHERE (student1.grade = '90') AND (student1.pass = '1') AND (student2.grade = '90') AND (student2.pass = '1')
however...it doesnt return any results...
can anyone correct my code?
thanx!
Sheila
I have two tables in sql server database. Tables are
Authors
AuthorName varchar (primary key), AuthorImage varchar
Threads
ThreadID int Primary Key, ThreadAuthor varchar, ForumID int (Foreign Key), ThreadReplyID int, ThreadPostedDate int
I have this query:
"SELECT ThreadAuthor, ThreadSubject, ThreadPost, ThreadPostedDate , ForumID FROM Threads WHERE ThreadID = " + threadId + " OR ThreadReplyID = " + threadId + " ORDER BY ThreadPostedDate ASC"
but i want to display AuthorImage on my webpage. How to modify the existing query to get the Author's image also.
Plz help me out anyone there.
Thanks
i've two tables.
such as tableA and table B
table A has a column named CreatedBY and table B the same column..
now i need to get only the rows which match with table A's createdby column..
suppose tableA has only 2 values. when i make the join with tableB it shows as 4 values
I need to perform a join on six different tables to produce a report. The biggest join I have ever done has been four tables. The way I did that query was to join three tables and then to perform the final select on the three table join.
Can anyone give me some advice. Should I use the same approach? Or can I just continue to use the keyword INNER JOIN to perform the joins?
How to join two tables in database(sqlserver2005)(i gave primary key for each table)
View 1 Replies View RelatedI am curios about what really happens when I join two tables?
Does a SQL server create a runtime table and write that table to disk is there is not sufficent space in RAM?
I have three tables:
1) Orders - order_id, orderdate
2) ordersdetails - order_id, partnumber, qty
3) products - partnumber
I need an output in following format
Date Partnumber qty
Following query gives the desired results.
select left(orders.orderdate,11) as date, orderdetails.partnumber, SUM(orderdetails.qty) as total
from orderdetails, orders
where orderdetails.partnumber is not null
and orderdetails.order_id = orders.order_id
and orders.orderdate >= {ts'2001-05-01 00:00:00'} and orders.orderdate <= {ts'2001-05-31 23:59:59'}
group by orders.orderdate, orderdetails.partnumber
order by orders.orderdate, total
But I do not have part that have null orders. My goal is to get
1) Get all part numbers, qty in the month of May.
2) at the end attach all partnumbers that have null ordered values to see which one have no orders.
I have tables (tab#1, tab#2, tab#3, tab#4) that made of the orginal table(tab#0)
What I want to do is to join all tables(tab#1 through tab#4) to tab#0.
Tables look like;
1)tab#0
key_id, code
2)tab#1
id, code#1
3)tab#2
id, code#2
4)tab#3
id, code#3
5)tab#4
id, code#4
Any idea?
Hi,
I have 2 tables. One with col1,col2 and second one with
col1,col2,col3. My requirement is to compare col1,col2
of t1 with t2 and update only changed records in t2.
How to implement? Please advise.
Thanks
Sam
Thank you, Thank you for reading my question!!! :)
I have 3 tables that need to be joined.
(Not necessarily needed info but might help: using Coldfusion with ODBC to Foxpro database)
Table 1: Timecard
--------
loginname date wrknum time
----------- --------- --------- ------
afrank 7/17/06 1 3
afrank 7/17/06 2 2
afrank 7/17/06 3 3
afrank 5/20/06 1 3
rjohn 7/17/06 1 3
.....
Table 2: Defaults
-----------
loginname wrknum
----------- ---------
afrank 1
afrank 2
afrank 3
afrank 4
afrank 5
....
Table 3: Workorders
wrknum description
---------- ---------------
1 descrip1
2 descrip2
.....
The result needs to be for the user afrank, date=7/20
and would look like:
Resultant Table:
loginname wrknum time description
----------- ---------- ------ ------------
afrank 1 3 descrip1
afrank 2 2 descrip2
afrank 3 3 descrip3
afrank 4 NULL descrip4
afrank 5 NULL descrip5
I've tried an outer left join but cannot get the right data. Basically everything from the timecard table and the leftovers from the default table with descriptions for all.
I've got two tables, one called clientsharedeals and the clientorderdeals. In the first table, I have four fields (Rundate, Accno, Dealid, Nominal) that I need to sum(Nominal), grouping by dealid.
Once I've done this, I need to join to clientorderdeals, also having the same fields plus one extra (Rundate, Accno, Dealid, Nominal and Dealseq). Because of Dealseq, I can have more than one row in the table, matching (Rundate, Accno, Dealid, Nominal) of the first table. However, Dealseq increments, so I need to select max(Dealseq).
My query is doubling up on nominal because in my select statement, I am only using one account number, so I know what the value is for nominal and there are two rows in clientorderdeals - and it is not selecting max(dealseq) but both.
Can someone please cast some pearls my way ?
Thanks
Could somebody please explain to me how do we join a table onto itself as that is what I was advised to do but I can't quite get where I want to go.
What I want to do is list values from a table,but those values can be just a quote (what would cost if they decided to go for that option) or those values can represent what was spent and invoiced, what is confusing me is that all of that gets saved in the same table and in same columns, so what was quoted for example for AirFares and what was spent gets saved in the same record but when it is "quoted amount" then ID = 1 but when it is invoiced ID = -1 and that is how we know what was quoted and what was invoiced.
But I need to split that one field into two columns one showing AirFareQuoted and one AirFareInvoiced and i have no idea how to achieve this.
I hope this makes sense and somebody can help me
hi,
I knew how to join 2 tables but i have a process to select 3 tables. I have a sample table and field below. I want to join Parts & Orders using field Prt_no and Supplier & Parts using field Sup _code
Parts table Orders Table Supplier Table
Prt_no Prt_no Sup_code
Prt_name Oh_qt Sup_name
Re_Level Or_no
Pri_amnt
Sup_code
Thanks...
Hi,
have to tables t1 and t2
t1 is in database db1
t2 is in db db2
Is it possible to join these two tables with an sql statement. or do i have to join my two datasets in my c#- Code
Greetz
Hey Folks,
I am stuck at one place in data migration........ I have the following source tables having no PK / INDEX / Constraint defined on any of them........
T1
(
ID1 INT,
STYLE VARCHAR(34)
)
T2
(
COL_ID VARCHAR(34),
OBJ_ID VARCHAR(34)
)
T3
(
OUT_ID VARCHAR(34),
ITEM VARCHAR(34),
)
And here is the relation..........
Quote:
T1.STYLE = T2.COL_ID
T2.OBJ_ID = T3.OUT_ID
T3.ITEM = T2.COL_ID
Here is what I have tried with.........
Quote:
SELECT * FROM T3 WHERE ITEM IN
(
SELECT COL_ID
FROM T1
INNER JOIN T2
ON
T1.STYLE = T2.COL_ID
INNER JOIN T3
ON
T2.OBJ_ID = T3.OUT_ID
)
But this query is not helping me out. I mean the number of output records are 0.
Now can any one suggest me a join that includes all the 3 tables, or finetune my query?
Thanks,
Rahul Jha
Hi,
Hello how can we see the result of this query in single table . I am new with this and i dont know how to use join and all syntax.
SELECT request_session_id,resource_type,
request_status, request_type,request_reference_count,
resource_database_id FROM sys.dm_tran_locks
go
select getdate () as Date,@@servername as servername, name ,size*8/1024 as size_MB
from sys.master_files;
go
SELECT request_session_id,resource_type,
request_status, request_type,request_reference_count,
resource_database_id FROM sys.dm_tran_locks
select cpu ,memusage,hostname from sysprocesses
CREATE PROCEDURE dbo.usp_ShowAvailableSpace
AS
SELECT name AS NameOfFile,
size/128.0 -CAST(FILEPROPERTY(name, 'SpaceUsed' )AS int)/128.0 AS AvailableSpaceInMB
FROM dbo.SYSFILES
GO
EXEC usp_ShowAvailableSpace
select * from sys.sysprocesses
SELECT (a.cntr_value * 1.0 / b.cntr_value) * 100.0 [BufferCacheHitRatio]
FROM (SELECT *, 1 x FROM sys.dm_os_performance_counters
WHERE counter_name = 'Buffer cache hit ratio')
a
,
(SELECT *, 1 x FROM sys.dm_os_performance_counters
WHERE counter_name = 'Buffer cache hit ratio base')
b
select * from sys.dm_exec_sessions
select creation_time ,last_execution_time,execution_count ,
total_physical_reads,last_physical_reads,min_physical_reads,
max_physical_reads,total_logical_writes,
last_logical_writes,min_logical_writes,max_logical_writes,
last_elapsed_time,min_elapsed_time,max_elapsed_time
from sys.dm_exec_query_stats
sorry for the noob question.
anyone know how to use inner join, left join or right join to join more than 2 tables? e.g. 3 tables
Thanks in advanced
hi everybody
I have a question and need answer as soon as possible. so i hope i get help. How can i join two tables have no common fields? I tried outer join but i get redundant data(repeated values).
Give me a script to solve the following problem . There are no real wrong answers, but the more efficient and bulletproof the query is the better. Assign rooms to classes based on capacity using the Classes and Rooms tables. Rules: each class should have a room (and NULL if a room is not available). No class can be in a room where there are more students than capacity. No room can be used twice.
And this is the tables query:
CREATE TABLE Classes (
ClassID int NOT NULL,
Class varchar (50),
Students int NOT NULL, CONSTRAINT PK_Classes PRIMARY KEY CLUSTERED (ClassID
) )
GO
CREATE TABLE Rooms (
Room int NOT NULL,
Capacity int NOT NULL,
CONSTRAINT PK_Rooms PRIMARY KEY CLUSTERED (Room)
)
GO
INSERT INTO Classes (ClassID, Class, Students) VALUES (1, 'Whats New for SQL Server 2008', 65)
INSERT INTO Classes (ClassID, Class, Students) VALUES (2, 'Introduction to Silverlight 1.1', 52)
INSERT INTO Classes (ClassID, Class, Students) VALUES (3, 'XQuery Deep Dive', 35)
INSERT INTO Classes (ClassID, Class, Students) VALUES (4, 'Ranking and Windowning', 35)
INSERT INTO Classes (ClassID, Class, Students) VALUES (5, 'Expression Blend 1.1', 65)
INSERT INTO Classes (ClassID, Class, Students) VALUES (6, 'Database Design Patterns', 75)
INSERT INTO Classes (ClassID, Class, Students) VALUES (7, 'CrossTabs for Dummies', 1)
INSERT INTO Rooms (Room, Capacity) VALUES (221, 30)
INSERT INTO Rooms (Room, Capacity) VALUES (222, 40)
INSERT INTO Rooms (Room, Capacity) VALUES (223, 50)
INSERT INTO Rooms (Room, Capacity) VALUES (224, 60)
INSERT INTO Rooms (Room, Capacity) VALUES (225, 70)
INSERT INTO Rooms (Room, Capacity) VALUES (226, 74)
GO
I have two tables:
T1 and T2.
T1 has 1 row as
name and age
T2 has 2 rows as
name, money1
name, money2
I use left outer join and get two rows in the resulting table.
As name, age, money1
and name, age, money2
Is there any way using which i can get data like:
name, age, money1, age, money2
in one row?
i have 2 tables with a common ID in both tables.
one table has more number of rows than the other
i want to a query which gives the list of ids or rows which are missing in the other table.
left,right,inner jopins only give me common or common + right/left
i want only the missing once.
can someone help me with this
hi,
i am facing an issue. i have got two tables say table1 and table2.
table1 has column1,2,3 ( has values a,b,c) where as table 2 has different columns 4,5,6(j,k,l).
column4 in table 2 has value which contains %+column1+% and it has two entires for each row in table1.the column4 value in table2 is different for all rows.When i am trying to join the two tables, i am getting values like
1 2 3 4 5 6
a b c j k l
a b c j1 k l
a1 b c j k l
a1 b c j1 k l
but i want to display
a b c k l
a1 b c k l
is there a way to do it.
My queries were
select distinct pc_assign_worklist.pxRefObjectInsName AS [pxRefObjectInsName],
pc_assign_worklist.pxUrgencyAssign AS [pxUrgencyAssign],
pc_assign_worklist.pyLabel AS [pyLabel],
pc_assign_worklist.pyAssignmentStatus AS [pyAssignmentStatus],
pc_assign_worklist.pxAssignedOperatorID AS [pxAssignedOperatorID],
CONVERT(char (11),pc_assign_worklist.pxCreateDateTime) AS [pxCreateDateTime],
pc_assign_worklist.pxCreateOpName AS [pxCreateOpName],
pc_index_workparty.MemberIdentifier AS [MemberIdentifier],
pc_index_workparty.LastName AS [Last Name],
pc_index_workparty.FirstName AS [First Name],
pc_index_workparty.pxInsName AS [pxInsName],
pc_index_workparty.pzInsKey AS [pzInsKey],
pc_index_workparty.pxpartySubscript as "Workparty"
from dbo.pc_assign_worklist
LEFT OUTER JOIN dbo.pc_index_workparty
ON pc_index_workparty.pzInsKey LIKE '%' + pc_assign_worklist.pxRefObjectInsName + '%'
where
pxAssignedOperatorID = 'dasxkx1'
i also tried left inner join but it always returns the same result seta.
I even created a view by inner join of two tables and then did left outer join on the second table . The result is same.
Can somebody tell whether this is achivable or not.
I have tbPrice:
Item, EffectiveDate, Price
and I have tbTransaction:
TransDate, Item
tbPrice created only if the price is changed, its not exist in everyday, If transdate not exist in tbPrice then find the nearest date
how to make query of this?
TransDate, Item, Price
Thank You
Hi everybody
I know how to join two tables with [INNER JOIN] or [LEFT/RIGHT OUTER JOIN] Keywords ,But when i have more than two tables , always i mixed up and have difficulty to build the query specially when i have to use LEFT or RIGHT OUTER JOIN Keywords!!!
and that's why i always use SQL Server Query Builder and let it to make the query string for me. i couldn't understand how SQL SERVER build the [FROM] section of the query ,really what method (Algorithm) does it uses to Build the query String??? could anyone point me or give me some advices?
is there any book to this topic?
Thanks In Advance
Kind Regards.
I have have 3 tables TableA, TableB and TableC. TableA holds the keysto TableB and TableC. I need a query which will display the detailsfrom TableB and TableC depending on the key in TableA.For eg.TableA - columns {id, relatedkey, recordType} ===recordType will holdvalues like TableB or TableCTableB - columns{id, column1}TableC - columns{id, column1}the query should match the related key to the id of TableA or table Bbased on recordType and show the column1 value with the TabelA id sooutput for this should beid recordType column11 TableB value of TableB column12 TableC value of TableC column1Please help.CheersNick
View 2 Replies View Relatedhello,I'm need some help with some sql to return some data...obviously ;)I have 3 tables. tblMgr, tblSup, and tblRep. I'd like to get all thenames of the reps that are assigned to a particular manager.Here is a simplified exmaple of table setup:tblRep-------repid repname supid----------------------1 joe 5002 ann 501tblSup-------supid supname mgrid----------------------500 bill 1000502 tom 1001tblMgr-------mgrid mgrname---------------1000 andy1001 rogerThanks.
View 3 Replies View Related
Hi there,
I have three tables: tblReport, lkuPrinter, and lkuProblem.
tblReport columns are as follows:
ReportID Date PrinterID ProblemID
lkuPrinter is as follows:
Printer ID PrinterName
lkuProblem is as follows:
ProblemID ProblemDescription
I want to join the data to display a table that has the following information:
Date PrinterName ProblemDescription
How do I do this? Or please give me a similar example. Thanks.
I have 3 tables that need to be joined.
Table 1: Timecard
--------
loginname date wrknum time
----------- --------- --------- ------
afrank 7/17/06 1 3
afrank 7/17/06 2 2
afrank 7/17/06 3 3
afrank 5/20/06 1 3
rjohn 7/17/06 1 3
.....
Table 2: Defaults
-----------
loginname wrknum
----------- ---------
afrank 1
afrank 2
afrank 3
afrank 4
afrank 5
....
Table 3: Workorders
wrknum description
---------- ---------------
1 descrip1
2 descrip2
.....
The result needs to be for the user afrank, date=7/20
and would look like:
Resultant Table:
loginname wrknum time description
----------- ---------- ------ ------------
afrank 1 3 descrip1
afrank 2 2 descrip2
afrank 3 3 descrip3
afrank 4 NULL descrip4
afrank 5 NULL descrip5
I've
tried an outer left join but cannot get the right data. Basically
everything from the timecard table and the leftovers from the default
table with descriptions for all.
Hello,
it is possible to join 2 tables with like operator? Like that:
select * from table
join table1 on table.name=like '%table1.name%'
How can I join to or more tables? I tried by going to the table and right clicking, did update and changed the name to the table I wanted to update, but I keep getting errors, like for <
Thank you
Dee
I am fairly new to sql and i am trying to join three tables:
SELECT *
from tbl_RegistrationInfo r JOIN tbl_Ideas i
on r.intRegID = i.intRegID JOIN tbl_Categories c
on i.intCategoryID=c.intCategoryID
where i.intIdeaID=4
ORDER BY i.DateCreated Desc
THe common key for the tables tbl_RegistrationInfo and tbl_Ideas is intRegID.
THe common key for the tables tbl_Ideas and tbl_Categories is intCategoryID.
And finally the user provides a value for the "idea" (i.intIdeaID=4).
i get a syntax error:
'syntax error in FROM clause'
I just dont see it. Can someone please help me? The small web app that I am writing will use this type of triple join often.
I did model this query from one I found online using the pubs sample db:
SELECT a.au_lname, a.au_fname, t.title
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id JOIN titles t
ON ta.title_id = t.title_id
WHERE t.type = 'trad_cook'
ORDER BY t.title ASC
Thanks,
Luis
Hi all,
Lets say that i have 3 tables, they are already related together, information on each of the 3 tables and their relationship between eachother can be found below:
I am using Microsoft SQL Server 2005 Database in Visual Web Developer 2008 using VB programming (ADO.NET)
The 3 tables are as follows:
Floor
Room
Location
Fields inside each of the tables can be found below:
Floor Table
(PK) ID
(Required) Name
DisplayOrder
Room Table
(PK) ID
(Required) Name
(PK, FK) FloorID
ExchangeID
Extension
IP
DeviceName
Remarks
(Required) Equipment
(Required) Floor2ID
FloorLocationX
FloorLocationY
Location Table
(PK,FK) FloorID
(Required) CountryName
(Required) CityName
(Required) BuildingName
The Relationships between the 3 tables are as follows:
ID field in Floor table is referenced by the field named FloorID in the Room Table
ID field in Floor table is referenced by the field named FloorID in the Location table
NOTE: Location Table serves only as an extension to Floor table thus they have a 1 to 1 relationship, due to My Projects Lead's instructions I am not allowed to consolidate the Floor Table and the Location Table as 1 whole table.
Floor Table has a 1 to Many Relationship with the Room Table.
I Have already done the physical relationships between each of the 3 tables in the Database Diagram, in Visual Web Developer 2008 Express Edition under the Database Explorer
So i have created this form to accept user input:
this form is in a aspx page called AddRooms.aspx
Country Name:______________ (data sent to location table)
City Name:_________________ (data sent to location table)
Building Name:______________ (data sent to location table)
FloorID:[This is a DropDownList which is databinded to the Floor Table]
Room Name:_______________ (data sent to room table)
*Just imagine that the above is a form to accept user input
*With a hit of a submit button all data will be sent to their respective tables in the database
Now i know that i have to JOIN tables in my database in order for my application to work, but i have no experience performing JOIN, i need great guys like you to help me apply JOIN to the 3 tables mentioned above, do let me know if you have any doubts in what i am trying to do.
Do give me that code that i can either apply in the (VB environment Visual Web Developer 2008) and/or in Microsoft SQL Server 2005 environment
Just need the SQL Statment that i will need to construct to perform the JOIN i need to.
Please Help
Many Thanks : )