Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
chiragvm
Yak Posting Veteran
65 Posts |
Posted - 2007-03-19 : 05:02:31
|
| hi to all i am new in sql2000i want to create one select query 1 ) select uid from usermaste where status = 0 resul = 3,5,72 ) select top 2 smallimage from images where uid = 3 union all select top 2 smallimage from images where uid = 5 union all select top 2 smallimage from images where uid = 7this query is generate 6 row but here i fire two seperate query and get result.in this query everytime not fix number of uid so it deficult to identy fy by programing the result is possible in one query.insted of two seperatre query |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-03-19 : 05:08:33
|
Try thisSELECT i.UID, MIN(i.SmallImage), MAX(i.SmallImage)FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UIDORDER BY i.UID Peter LarssonHelsingborg, Sweden |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-03-19 : 05:10:01
|
VariationSELECT MIN(i.SmallImage)FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UIDUNION ALLSELECT MAX(i.SmallImage)FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UID Peter LarssonHelsingborg, Sweden |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-03-19 : 06:17:11
|
If duplicates are not allowedSELECT i.UID, MIN(i.SmallImage), NULLIF(MAX(i.SmallImage), MIN(i.SmallImage))FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UIDORDER BY i.UID orSELECT MIN(i.SmallImage)FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UIDUNIONSELECT MAX(i.SmallImage)FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UID Peter LarssonHelsingborg, Sweden |
 |
|
|
chiragvm
Yak Posting Veteran
65 Posts |
Posted - 2007-03-19 : 07:02:35
|
thanks for reply but this is not a solution inorder to smallimage = varchar so i not use min or max function on that quote: Originally posted by Peso If duplicates are not allowedSELECT i.UID, MIN(i.SmallImage), NULLIF(MAX(i.SmallImage), MIN(i.SmallImage))FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UIDORDER BY i.UID orSELECT MIN(i.SmallImage)FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UIDUNIONSELECT MAX(i.SmallImage)FROM UserMaster AS umINNER JOIN Images AS i ON i.UID = um.UIDWHERE um.Status = 0GROUP BY i.UID Peter LarssonHelsingborg, Sweden
|
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-03-19 : 07:06:20
|
| Yes, you can use MIN and MAX on VARCHAR!Why don't you try the suggestion first, befire deciding it will not work?Do you think people will continue to help you, if you don't even try what we suggest?Peter LarssonHelsingborg, Sweden |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-03-19 : 09:45:56
|
| Where did you go?Did you consider to try my suggestion after all?Do you have any feed-back?The reason for using MIN/Max is that the original TOP 2 did not come with an ORDER BY, so they basically just returned two random records. MIN and MAX will also returns two values, though not random.Peter LarssonHelsingborg, Sweden |
 |
|
|
|
|
|
|
|