2 liknande SELECT i en och samma fråga?

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
snylften



Medlem i: 3722 dagar

Status: Offline



#741190
Inlägg Skrivet: 2016-11-14 15:46      Ämne: 2 liknande SELECT i en och samma fråga? Citera

Kan man på något sätt få dessa två select satser att bli en. Den första är comp.profile=1 och den andra så är det NULL.
Jag vill alltså göra en select på alla poster där comp.profile=1, om de är tex 5st så ska de 5 slumpas enl order by rand(), sedan ska resten komma och även de ska slumpasenl order by rand, fast enbart bland de som inte har profile=1.

Först ska dessa slumpas.
KOD:
1:
SELECT
2:
comp.company_id,
3:
comp.company_name,
4:
comp.address,
5:
comp.postcode,
6:
comp.phone,
7:
comp.profile,
8:
p.txt
9:
FROM companies comp
10:
JOIN postcode p ON comp.postcode=p.id
11:
WHERE p.county=14 AND comp.profile=1
12:
ORDER BY rand();


Sedan ska dessa slumpas, men de ska alltid ligga under de som har comp.profile=1
KOD:
1:
SELECT
2:
comp.company_id,
3:
comp.company_name,
4:
comp.address,
5:
comp.postcode,
6:
comp.phone,
7:
comp.profile,
8:
p.txt
9:
FROM companies comp
10:
JOIN postcode p ON comp.postcode=p.id
11:
WHERE p.county=14 AND comp.profile=NULL
12:
ORDER BY rand();


Går detta att lösa i en och samma SQL fråga?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Koenigsegg



Medlem i: 2990 dagar

Status: Offline



#741191
Inlägget är accepterad som det rätta svaret Skrivet: 2016-11-14 16:27      Ämne: Citera

Nåt i stil med
KOD:
1:
SELECT cols
2:
FROM companies AS comp
3:
JOIN postcode AS p
4:
   ON comp.postcode=p.id
5:
WHERE p.county=14 AND (comp.profile IS NULL OR comp.profile=1)
6:
ORDER BY comp.profile DESC, RAND()
?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic