[MySQL] Union pakt niet alle rows

Pagina: 1
Acties:

  • verytallman
  • Registratie: Augustus 2001
  • Laatst online: 13-11 10:23
Ik wil uit 2 tabellen een kolom halen, en het probleem is dat bij het tweede gedeelte van de union, hij alleen de row pakt als de waarde > 0

Mijn query:
SQL:
1
2
3
4
5
6
7
8
9
10
11
(SELECT number_pages 
FROM bsu_domains 
WHERE group_id = 1) 

UNION 

(SELECT number_pages 
FROM bsu_subdomains 
WHERE domain_id = ANY ( SELECT id 
                        FROM bsu_domains 
                        WHERE group_id = 1)) 

In de tabel bsu_subdomains is elke row verbonden aan een row in bsu_domains door in het veld bsu_subdomains.domain_id het id van een row uit bsu_domains te zetten.

Het gaat goed als bsu_subdomains.number_pages een waarde groter dan 0 bevat, dan wordt die row geselecteerd.

Maar als bsu_subdomains.number_pages de waarde 0 heeft, wordt die row genegeerd.

Het vreemde is dat, als bsu_domains.number_pages een waarde van 0 heeft, die row wel wordt meegenomen in de resultaten.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Probeer eens UNION ALL ipv. UNION, als dat het probleem niet oplost dan zit het probleem niet in de UNION.

Blog [Stackoverflow] [LinkedIn]


  • verytallman
  • Registratie: Augustus 2001
  • Laatst online: 13-11 10:23
Binnen 2 minuten antwoord om deze tijd....en het werkt ook nog

Waar kan ik betalen ? ;)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

verytallman schreef op vrijdag 01 december 2006 @ 02:14:
Binnen 2 minuten antwoord om deze tijd....en het werkt ook nog

Waar kan ik betalen ? ;)
Betalen kan je achterwege laten, als je in de toekomst ook probeert om anderen wat meer te helpen. Wij helpen jou, jij helpt andere users met hun uitdagingen ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Wolfboy schreef op vrijdag 01 december 2006 @ 02:04:
Probeer eens UNION ALL ipv. UNION, als dat het probleem niet oplost dan zit het probleem niet in de UNION.
Als het daarmee wel werkte, dan is het vreemd, want 'ALL' is default impliciet bij MySQL UNION statements.

Wie trösten wir uns, die Mörder aller Mörder?


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Confusion schreef op vrijdag 01 december 2006 @ 11:26:
[...]

Als het daarmee wel werkte, dan is het vreemd, want 'ALL' is default impliciet bij MySQL UNION statements.
Niet volgens de MySQL handleiding, daar staat dat UNION DISTINCT default is.
The default behavior for UNION is that duplicate rows are removed from the result. The optional DISTINCT keyword has no effect other than the default because it also specifies duplicate-row removal. With the optional ALL keyword, duplicate-row removal does not occur and the result includes all matching rows from all the SELECT statements.
Bron: http://dev.mysql.com/doc/refman/5.0/en/union.html

Blog [Stackoverflow] [LinkedIn]


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Wolfboy schreef op vrijdag 01 december 2006 @ 14:15:
Niet volgens de MySQL handleiding, daar staat dat UNION DISTINCT default is.
* Confusion spanked zijn geheugen.

Wie trösten wir uns, die Mörder aller Mörder?

Pagina: 1