![]() |
Om det här är ditt första besök, se till att gå till vår FAQ (finns även länk till FAQ i navigeringsmenyn ovan). Du kan behöva att registrera dig innan du kan posta (finns även en länk till registrering i navigeringsmenyn ovan). För att titta på inlägg, välj det forum som du vill besöka från de som är listade nedan. |
|
![]() |
|
Ämnesverktyg | Visningsalternativ |
![]() |
#1 |
Senior Member
|
![]()
Tjena!
Kanske fel forum att skriva i men jag kastar ut frågan ändå, någon kanske kan lösningen... Om Du inte kan något om databaser, ta dig inte äns tid att försöka förstå detta ![]() Jag håller på att lösa ett SQL problem som var svårare att lösa än jag trodde. Databasen ser ut som följer - groups, innehåller information om olika grupper - news, innehåller nyhetsinlägg, här finns en flagga som heter general, om den är satt så skall inlägget visas oavsatt vilken grupp man är inloggad i. - groups_news, är en länklista mellan groupid och newsid Jag skall nu göra en lista på alla nyhetsinlägg som är relevanta för den inloggade personenen, som har valt vilken grupp han är med i, dess utom om ingen grupp är vald skall bara de generella inläggen visas. Denna lista skall vara sorterad DESC efter changedate som finns i tabellen news. Om vi struntar i JOINS och CROSS JOINS och kör den gammla hedliga vägen, jag har testat JOINS, det funkar precis lika dant, så borde en sådan sats med inloggning i grupp med id 1 se ut något som Kod:
SELECT news.* FROM news, group_news WHERE news.general = 1 OR group_news.newsid = news.newsid AND group_news.groupid = 1 ORDER BY news.changedate DESC Någon som kan komma på en rätt och riktig sats för att åstatkomma det jag vill?? ![]() HP Moderator Svenska 3D-Tåg Regler |
![]() |
|
![]() |
#2 |
Medlem
Reg.datum: Nov 2001
Ort: Linköping, Sweden.
Inlägg: 523
|
![]()
Posta detta i Sweclockers oxå så har du 2 ställen att kolla på:
http://forum.sweclockers.com/ Posta under: Programmering - Webdesign - Grafisk design Där har jag sett några som postat liknande fraser och fått "scriptet" korrigerat! MvH. Mson ![]() http://www.tagbilder.com |
![]() |
![]() |
#3 |
Medlem
|
![]()
http://www.phpportalen.net är ett mycket bättre ställe att fråga om SQL frågor. Sweclockers är visserligen bra men phpportalen i detta fallet är mycket bättre.
--------------- zerax@nordictech.com http://www.zerax.mine.nu http://www.nordictech.com |
![]() |
![]() |
#5 |
Senior Member
|
![]()
SELECT DISTINCT news.* FROM news, group_news WHERE news.general = 1 OR group_news.newsid = news.newsid AND group_news.groupid = 1 ORDER BY news.changedate DESC
borde fungera! När du söker i en SQL databas är det nästan undantagslöst nödvändigt att använda SELECT DISTINCT Erik Falkenström ![]() http://www.erikfalken.fotosidan.se |
![]() |
![]() |
#7 | |
Senior Member
|
![]() Citat:
SELECT DISTINCT * FROM news WHERE news.general = 1 OR group_news.newsid = news.newsid AND group_news.groupid = 1 ORDER BY news.changedate DESC/erik Erik Falkenström ![]() http://www.erikfalken.fotosidan.se |
|
![]() |
![]() |
#8 |
Senior Member
|
![]()
Nix, resulterar i fel, anledningen är att destinct ändast går att använda på id nummer, med andra ord, textfältet title och message går inte...
Jag fick hjälp på ett annat forum, den rätta satsen är SELECT * FROM news WHERE news.general = 1 OR news.newsid = ( SELECT newsid FROM group_news WHERE group_news.newsid = news.newsid AND group_news.groupid = 1 ) ORDER BY news.changedate DESC Med andra ord en Select sats i Selectsatsen... Så är det... ![]() HP Moderator Svenska 3D-Tåg Regler |
![]() |
![]() |
#9 | |
Senior Member
|
![]() Citat:
Jag brukar alltid använda SELECT DISTINCT när jag söker, oavsett om det gäller ID fält (sätter oftast den till integer 10 bytes) eller textfält, char eller annat t.ex. datum. Kör förresten MySQL, vad använder du, kan det var ngt skumt där, om du kör MS Access som använder JetSQL? Jag har en annan idé, om du har lust så testa gärna, den kan fungera, eller så gör den inte det :-) SELECT DISTINCT * FROM news WHERE news.general = 1 OR (group_news.newsid = news.newsid AND group_news.groupid = 1) ORDER BY news.changedate DESC Erik Falkenström ![]() http://www.erikfalken.fotosidan.se |
|
![]() |
![]() |
#10 |
Medlem
Reg.datum: Aug 2001
Ort: , , .
Inlägg: 208
|
![]()
Lite OT: Vad har DISTINCT för funktion när man kör med SELECT *[?]
DISTINCT ska ju sortera bort dubletter, och några dubletter ska ju inte kunna finnas om man hämtar alla poster. Speciellt inte på ID-fältet som Erik beskriver? // Daniel |
![]() |
![]() |
#11 | |
Senior Member
|
![]() Citat:
Erik Falkenström ![]() http://www.erikfalken.fotosidan.se |
|
![]() |
![]() |
|
|
![]() |
||||
Ämne | Startat av | Forum | Svar | Senaste inlägg |
Ett stycke ångvagn! (plus fråga) | Json | 3D-design - Trainz | 8 | 2005-09-18 12:33 |
Fråga ang. Boggier+Polygoner | Carlj | 3D-design - Trainz | 0 | 2005-02-01 22:44 |
Fråga angående S-filer | smajlet | 3D-design/Ommålningar - MSTS / Open Rails | 6 | 2005-01-30 18:21 |
Nyfiken fråga? | Bengan | Trainz - Allmänt om Trainz | 4 | 2004-01-15 21:52 |
Fråga till STW. | RapidHO | Trainz - Allmänt om Trainz | 3 | 2002-08-16 22:37 |