SQL Combine Three tables without common Foreign Keys
I was looking to combine three (or more) tables using SQL Server 2016. It is a music database and I am able to combine the first two without issue. Here are the two tables I am able to combine:
Artist
ArtistID (pk)
ArtName
Song
SongID (pk)
SongTitle
ArtistSong
ArtSongID (pk)
ArtistID (fk)
SongID (fk)
Here is the code snippet I have created to join both tables
SELECT ArtName, SongTitle
FROM ArtistSong aso
JOIN Artist a ON aso.ArtistID = a.ArtistID
JOIN Song s ON aso.SongID = s.SongID;
I was hoping to add a third table, or maybe a fourth that does not share a foreign key with the other tables. I would like to add Album Title to the query. Here is the table for Album
Album
AlbumID (pk)
AlbumTitle (fk)
Should I add Album to the junction table or is there another method I should consider.
Below is an image to the ERD
Any help is greatly appreciated.
Thank you
sql
add a comment |
I was looking to combine three (or more) tables using SQL Server 2016. It is a music database and I am able to combine the first two without issue. Here are the two tables I am able to combine:
Artist
ArtistID (pk)
ArtName
Song
SongID (pk)
SongTitle
ArtistSong
ArtSongID (pk)
ArtistID (fk)
SongID (fk)
Here is the code snippet I have created to join both tables
SELECT ArtName, SongTitle
FROM ArtistSong aso
JOIN Artist a ON aso.ArtistID = a.ArtistID
JOIN Song s ON aso.SongID = s.SongID;
I was hoping to add a third table, or maybe a fourth that does not share a foreign key with the other tables. I would like to add Album Title to the query. Here is the table for Album
Album
AlbumID (pk)
AlbumTitle (fk)
Should I add Album to the junction table or is there another method I should consider.
Below is an image to the ERD
Any help is greatly appreciated.
Thank you
sql
1
Your schema already had an appropriate junction table for albums and songs. Then what is your question?
– Tim Biegeleisen
Nov 16 '18 at 2:16
add a comment |
I was looking to combine three (or more) tables using SQL Server 2016. It is a music database and I am able to combine the first two without issue. Here are the two tables I am able to combine:
Artist
ArtistID (pk)
ArtName
Song
SongID (pk)
SongTitle
ArtistSong
ArtSongID (pk)
ArtistID (fk)
SongID (fk)
Here is the code snippet I have created to join both tables
SELECT ArtName, SongTitle
FROM ArtistSong aso
JOIN Artist a ON aso.ArtistID = a.ArtistID
JOIN Song s ON aso.SongID = s.SongID;
I was hoping to add a third table, or maybe a fourth that does not share a foreign key with the other tables. I would like to add Album Title to the query. Here is the table for Album
Album
AlbumID (pk)
AlbumTitle (fk)
Should I add Album to the junction table or is there another method I should consider.
Below is an image to the ERD
Any help is greatly appreciated.
Thank you
sql
I was looking to combine three (or more) tables using SQL Server 2016. It is a music database and I am able to combine the first two without issue. Here are the two tables I am able to combine:
Artist
ArtistID (pk)
ArtName
Song
SongID (pk)
SongTitle
ArtistSong
ArtSongID (pk)
ArtistID (fk)
SongID (fk)
Here is the code snippet I have created to join both tables
SELECT ArtName, SongTitle
FROM ArtistSong aso
JOIN Artist a ON aso.ArtistID = a.ArtistID
JOIN Song s ON aso.SongID = s.SongID;
I was hoping to add a third table, or maybe a fourth that does not share a foreign key with the other tables. I would like to add Album Title to the query. Here is the table for Album
Album
AlbumID (pk)
AlbumTitle (fk)
Should I add Album to the junction table or is there another method I should consider.
Below is an image to the ERD
Any help is greatly appreciated.
Thank you
sql
sql
asked Nov 16 '18 at 2:10
NelsonNelson
365
365
1
Your schema already had an appropriate junction table for albums and songs. Then what is your question?
– Tim Biegeleisen
Nov 16 '18 at 2:16
add a comment |
1
Your schema already had an appropriate junction table for albums and songs. Then what is your question?
– Tim Biegeleisen
Nov 16 '18 at 2:16
1
1
Your schema already had an appropriate junction table for albums and songs. Then what is your question?
– Tim Biegeleisen
Nov 16 '18 at 2:16
Your schema already had an appropriate junction table for albums and songs. Then what is your question?
– Tim Biegeleisen
Nov 16 '18 at 2:16
add a comment |
1 Answer
1
active
oldest
votes
How about:
...
JOIN Album_Song abs ON abs.SongID = s.SongID
JOIN Album ab ON ab.AlbumID = abs.AlbumID
...
Are you even certain that the OP is asking for a query?
– Tim Biegeleisen
Nov 16 '18 at 2:20
That's it! Thank you so much:)
– Nelson
Nov 16 '18 at 2:33
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53330475%2fsql-combine-three-tables-without-common-foreign-keys%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
How about:
...
JOIN Album_Song abs ON abs.SongID = s.SongID
JOIN Album ab ON ab.AlbumID = abs.AlbumID
...
Are you even certain that the OP is asking for a query?
– Tim Biegeleisen
Nov 16 '18 at 2:20
That's it! Thank you so much:)
– Nelson
Nov 16 '18 at 2:33
add a comment |
How about:
...
JOIN Album_Song abs ON abs.SongID = s.SongID
JOIN Album ab ON ab.AlbumID = abs.AlbumID
...
Are you even certain that the OP is asking for a query?
– Tim Biegeleisen
Nov 16 '18 at 2:20
That's it! Thank you so much:)
– Nelson
Nov 16 '18 at 2:33
add a comment |
How about:
...
JOIN Album_Song abs ON abs.SongID = s.SongID
JOIN Album ab ON ab.AlbumID = abs.AlbumID
...
How about:
...
JOIN Album_Song abs ON abs.SongID = s.SongID
JOIN Album ab ON ab.AlbumID = abs.AlbumID
...
answered Nov 16 '18 at 2:18
muratgumuratgu
6,08131825
6,08131825
Are you even certain that the OP is asking for a query?
– Tim Biegeleisen
Nov 16 '18 at 2:20
That's it! Thank you so much:)
– Nelson
Nov 16 '18 at 2:33
add a comment |
Are you even certain that the OP is asking for a query?
– Tim Biegeleisen
Nov 16 '18 at 2:20
That's it! Thank you so much:)
– Nelson
Nov 16 '18 at 2:33
Are you even certain that the OP is asking for a query?
– Tim Biegeleisen
Nov 16 '18 at 2:20
Are you even certain that the OP is asking for a query?
– Tim Biegeleisen
Nov 16 '18 at 2:20
That's it! Thank you so much:)
– Nelson
Nov 16 '18 at 2:33
That's it! Thank you so much:)
– Nelson
Nov 16 '18 at 2:33
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53330475%2fsql-combine-three-tables-without-common-foreign-keys%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Your schema already had an appropriate junction table for albums and songs. Then what is your question?
– Tim Biegeleisen
Nov 16 '18 at 2:16