farzane_t
پنج شنبه 03 مرداد 1392, 18:56 عصر
سلام
من با استفاده از این لینک جستجوی پیشرفته در یک جدول رو انجام دادم و مشکلی نبود :
http://barnamenevis.org/showthread.php?340305-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D8%AA%D9%88%D8%B3%D8%B7-%D8%A7%D8%B3%D8%AA%D9%88%D8%B1%D9%BE%D8%B1%D9%88%D 8%B3%DB%8C%D8%AC%D8%B1-stored-procedure&highlight=%D8%A2%D9%85%D9%88%D8%B2%D8%B4+%D8%A7%D9 %86%D8%AC%D8%A7%D9%85+%D8%AC%D8%B3%D8%AA%D8%AC%D9% 88%DB%8C+%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%8 7+%D8%AA%D9%88%D8%B3%D8%B7+%D8%A7%D8%B3%D8%AA%D9%8 8%D8%B1%D9%BE%D8%B1%D9%88%D8%B3%DB%8C%D8%AC%D8%B1+ stored+procedure
اما من میخوام جستجو در دو جدول به صورت همزمان انجام بشه ، برای اینکار از کد زیر استفاده کردم :
BEGIN TRANSACTION
(select 'download' as type , DlID as 'id', DLTitle as 'title',DlSummery as 'descp', DlPic as 'pic',DlDate as 'date' , DlView as 'view' from Downloads
where (DLTitle like ISNULL(@Title,DLTitle + '%' ) )and
(DlAuthor like ISNULL(@Author,DlAuthor + '%')) and
(DlCatID like ISNULL(@Subject,DlCatID )))
union
(select 'paper' as type , PID as 'id',PTitle as 'title',PaperSummary as 'descp', PaperPic as 'pic',PDate as 'date' ,PViewCount as 'view' from Papers
where (PTitle like ISNULL(@Title,PTitle + '%' ) )and
(PAuthor like ISNULL(@Author,PAuthor + '%' ) )and
(PCatID like ISNULL(@Subject,PCatID )))
COMMIT TRANSACTION
اما درست کار نمیکنه. مثلا من یه عنوان خاص رو در هر دو جدول دارم اما فقط واسه یک جدول رو توو خروجی نشون میده. مشکل چیه؟
ممنون میشم راهنماییم کنید.
من با استفاده از این لینک جستجوی پیشرفته در یک جدول رو انجام دادم و مشکلی نبود :
http://barnamenevis.org/showthread.php?340305-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D8%AA%D9%88%D8%B3%D8%B7-%D8%A7%D8%B3%D8%AA%D9%88%D8%B1%D9%BE%D8%B1%D9%88%D 8%B3%DB%8C%D8%AC%D8%B1-stored-procedure&highlight=%D8%A2%D9%85%D9%88%D8%B2%D8%B4+%D8%A7%D9 %86%D8%AC%D8%A7%D9%85+%D8%AC%D8%B3%D8%AA%D8%AC%D9% 88%DB%8C+%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%8 7+%D8%AA%D9%88%D8%B3%D8%B7+%D8%A7%D8%B3%D8%AA%D9%8 8%D8%B1%D9%BE%D8%B1%D9%88%D8%B3%DB%8C%D8%AC%D8%B1+ stored+procedure
اما من میخوام جستجو در دو جدول به صورت همزمان انجام بشه ، برای اینکار از کد زیر استفاده کردم :
BEGIN TRANSACTION
(select 'download' as type , DlID as 'id', DLTitle as 'title',DlSummery as 'descp', DlPic as 'pic',DlDate as 'date' , DlView as 'view' from Downloads
where (DLTitle like ISNULL(@Title,DLTitle + '%' ) )and
(DlAuthor like ISNULL(@Author,DlAuthor + '%')) and
(DlCatID like ISNULL(@Subject,DlCatID )))
union
(select 'paper' as type , PID as 'id',PTitle as 'title',PaperSummary as 'descp', PaperPic as 'pic',PDate as 'date' ,PViewCount as 'view' from Papers
where (PTitle like ISNULL(@Title,PTitle + '%' ) )and
(PAuthor like ISNULL(@Author,PAuthor + '%' ) )and
(PCatID like ISNULL(@Subject,PCatID )))
COMMIT TRANSACTION
اما درست کار نمیکنه. مثلا من یه عنوان خاص رو در هر دو جدول دارم اما فقط واسه یک جدول رو توو خروجی نشون میده. مشکل چیه؟
ممنون میشم راهنماییم کنید.