Tôi đang cố gắng viết một thủ tục lưu sẵn để tìm kiếm từ khóa. Cách chúng tôi thiết lập DB của mình.Làm cách nào để tham gia nhiều cột?
Có một bảng Genres
có Genre names
và Genre ID's
, sau đó là một bảng Genrebridge
trong đó có genreID1, GenreID2, GenreID3, GenreID4, GenreID5, SongID, AlbumID
và ArtistID
.
Làm thế nào để bên tham gia mỗi GenreID
lĩnh vực, do đó Genre name
được liên kết với Genre Bridge
bảng
ALTER PROCEDURE [dbo].[usp_album_search_keyword_AlbumNameANDArtistName]
(
-- Add the parameters for the stored procedure here
@albumname varchar(255),
@artistname varchar(255)
)
As
Begin
Select
Distinct a.AlbumTitle, art.ArtistName, a.AvgRatingNBR, a.OriginalPrice, a.DiscountPrice
FROM
Albums a
inner join Artists art on a.ArtistID = art.ArtistID
inner join GenreBridge gb on gb.AlbumID = a.AlbumID
inner join Genres g on g.GenreID = gb.GenreID1
inner join genres g on g.GenreID = gb.genreID2
inner join genres g on g.GenreID = gb.GenreID3
inner join genres g on g.GenreID = gb.GenreID4
inner join genres g on g.GenreID = gb.GenreID5
where a.AlbumTitle like '%' + @albumname + '%'
and art.ArtistName like '%' + @artistname + '%'
End
Mã này có chạy không? Và, nếu có, bạn nhận được kết quả gì? –
khi tôi thử và thực hiện thủ tục, tôi nhận được lỗi sau: Tên đối tượng không hợp lệ 'g'. chỉnh sửa: tôi tin rằng lần thứ hai tôi tuyên bố thể loại là g – Parth
sử dụng các bí danh khác thay vì 'g', như' g1', 'g2', v.v. – cha