Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-25-2004, 03:55 PM
VBDev's Avatar
VBDev VBDev is offline
 
Join Date: Jan 2004
Location: France
Posts: 2,570
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default $threads in FORUMDISPLAY and DISTINCT ?

So, I made modifications for a hack and I need 2 more fields I'd like to get with this query :

PHP Code:
        SELECT $votequery $previewfield
            thread
.threadidthread.title AS threadtitlelastpostthread.forumidpollidopenreplycountpostusernamepostuseridthread.iconid AS threadiconid,
            
lastposterthread.dateline, IF(views<=replycountreplycount+1views) AS viewsnotesthread.visiblestickyvotetotalthread.attach
            
" . iif($vboptions['threadsubscribed'] AND $bbuserinfo['userid'], "NOT ISNULL(subscribethread.subscribethreadid) AS issubscribed") . "
            " . iif(!
$deljoin, "NOT ISNULL(deletionlog.primaryid) AS isdeleteddeletionlog.userid AS del_userid
                
deletionlog.username AS del_usernamedeletionlog.reason AS del_reason") . "
        
FROM " . TABLE_PREFIX . "thread AS thread
        
" . iif(!$deljoin, " LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(thread.threadid deletionlog.primaryid AND type 'thread')") . "
        " . iif(
$vboptions['threadsubscribed'] AND $bbuserinfo['userid'], " LEFT JOIN " . TABLE_PREFIX . "subscribethread AS subscribethread ON(subscribethread.threadid thread.threadid AND subscribethread.userid $bbuserinfo[userid])") . "
        
$previewjoin
        WHERE thread
.threadid IN (0$ids)
        
ORDER BY sticky DESC$sqlsortfield $sqlsortorde 

I need these fields : nb_install and userid from tables hacks and hacksinstall, so I modify to have :

PHP Code:
        SELECT $votequery $previewfield
            thread
.threadidthread.title AS threadtitlelastpostthread.forumidpollidopenreplycountpostusernamepostuseridthread.iconid AS threadiconid,
            
lastposterthread.dateline, IF(views<=replycountreplycount+1views) AS viewsnotesthread.visiblestickyvotetotalthread.attach
            
" . iif($vboptions['threadsubscribed'] AND $bbuserinfo['userid'], "NOT ISNULL(subscribethread.subscribethreadid) AS issubscribed") . "
            " . iif(!
$deljoin, "NOT ISNULL(deletionlog.primaryid) AS isdeleteddeletionlog.userid AS del_useridhacks.nb_installi.userid,
                
deletionlog.username AS del_usernamedeletionlog.reason AS del_reason") . "
        
FROM " . TABLE_PREFIX . "thread AS thread
        
" . iif(!$deljoin, " LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(thread.threadid deletionlog.primaryid AND type 'thread')") . "
        " . iif(
$vboptions['threadsubscribed'] AND $bbuserinfo['userid'], " LEFT JOIN " . TABLE_PREFIX . "subscribethread AS subscribethread ON(subscribethread.threadid thread.threadid AND subscribethread.userid $bbuserinfo[userid])") . "
        
LEFT JOIN " . TABLE_PREFIX . "hacks AS hacks ON(hacks.threadid=thread.threadid)
        
LEFT JOIN ". TABLE_PREFIX ."hacks_install AS i ON (i.userid=$bbuserinfo[userid])
        
$previewjoin
        WHERE thread
.threadid IN (0$ids)
        
ORDER BY sticky DESC$sqlsortfield $sqlsortorder 
The problem is that I get back each thread twice :ermm:

How to do so that I get back them only once ?
Thanks by advance
Reply With Quote
  #2  
Old 03-25-2004, 04:45 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You answered your own question in the subject: use SELECT DISTINCT instead of SELECT to avoid duplicate rows, although often the solution lies in refining the query itself.
Reply With Quote
  #3  
Old 03-26-2004, 07:57 AM
VBDev's Avatar
VBDev VBDev is offline
 
Join Date: Jan 2004
Location: France
Posts: 2,570
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I'll try using a DISTINCT on threadid so
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:16 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04042 seconds
  • Memory Usage 2,215KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete