?
Solved

SQL Join query

Posted on 2008-10-26
6
Medium Priority
?
261 Views
Last Modified: 2012-05-05
How do i get the required result from querying the two tables.

tblGroups
Group      R      Folder3
Group      RW      Folder1
Group      R      Folder2
Group      RW      Folder4
Group     R      Folder5

tblFolders
Folder      R      Folder2
Folder      R      Folder1
Folder     RW   Folder5

Result:
Group      R      Folder3
Group      RW      Folder4
Folder      R      Folder2
Folder      R      Folder1
Folder     RW   Folder5
0
Comment
Question by:byte1
  • 4
  • 2
6 Comments
 
LVL 61

Accepted Solution

by:
Kevin Cross earned 2000 total points
ID: 22807664
If I am understanding you correctly you want:
+All values of folders table
+Values from groups table where folder name is not preset in folders table

SELECT *
FROM tblFolders
UNION ALL
SELECT *
FROM tblGroups g
WHERE NOT EXISTS (SELECT 1 FROM tblFolders f WHERE f.FolderNameColumn = g.FolderNameColumn)

Open in new window

0
 

Author Comment

by:byte1
ID: 22807684
I need values from both tables but Folder table takes precedence. if a row exists in tblgroups and tblfolders ,tblFolders takes precedence.
0
 
LVL 61

Expert Comment

by:Kevin Cross
ID: 22807702
The above should do the trick as that is the same principal as you will get all values of tblFolders first and then only the values that are not in tblFolders which will give you all values of both tables with the common values labelled as Folder instead of Group.
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 61

Expert Comment

by:Kevin Cross
ID: 22807711
The above was for simplicity sake, you may want to type out the column names and alias them how you want to show in the report since you are combining tables the predefined column names may not make sense after UNION.


SELECT Col1 AS FolderType, Col2 AS FolderRights, FolderNameColumn AS FolderName
FROM tblFolders
UNION ALL
SELECT Col1, Col2, FolderNameColumn
FROM tblGroups g
WHERE NOT EXISTS (SELECT 1 FROM tblFolders f WHERE f.FolderNameColumn = g.FolderNameColumn)

Open in new window

0
 

Author Comment

by:byte1
ID: 22807716
Sorry i did not include column names, my bad. Thanks for the solution it worked like a charm.
0
 
LVL 61

Expert Comment

by:Kevin Cross
ID: 22807723
Glad to help and no worries.
0

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
This post looks at MongoDB and MySQL, and covers high-level MongoDB strengths, weaknesses, features, and uses from the perspective of an SQL user.
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…
The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…

601 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question