Solved

SQL Join query

Posted on 2008-10-26
6
209 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 59

Accepted Solution

by:
Kevin Cross earned 500 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 59

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
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 59

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 59

Expert Comment

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

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Suggested Solutions

As they say in love and is true in SQL: you can sum some Data some of the time, but you can't always aggregate all Data all the time! Introduction: By the end of this Article it is my intention to bring the meaning and value of the above quote to…
If you find yourself in this situation “I have used SELECT DISTINCT but I’m getting duplicates” then I'm sorry to say you are using the wrong SQL technique as it only does one thing which is: produces whole rows that are unique. If the results you a…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

760 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now