PatrikBMedlem sedan mars 20002 713 inlägg
Denna subselect funkar inte speciellt bra, eller är det så att det fortfarande är buggigt i v. 4.1:
SELECT m.FieldID, (SELECT Count(SomeFieldID) FROM OtherTable WHERE SubFieldID = m.FieldID) As SomeFieldCount FROM MainTable m
Den går igenom UTAN fel men returnerar null ...
Är det jag som fått fnatt och skriver fel så här i slutet av arbetsdagen???
cya & thx
PatrikB
LarsGMedlem sedan dec. 200012 465 inlägg
Din fråga är korrekt. Resultatet av att använda en count i en skalär subselect kan aldrig bli null så det är helt klart ett fel i Mysql.
PatrikBMedlem sedan mars 20002 713 inlägg
Tackar LarsG,
det var som jag trodde ;)
Det "roliga" i kråksången är att den returnerar 0 när counten är 0 och null om counten skulle ge ett resultat mer än 0
ja, ja, blir till att vänta med att uppgradera till 4.1 tills de har fixat den "featuren" :e
cya,
PatrikB
PatrikBMedlem sedan mars 20002 713 inlägg
Döm om min förvåning (man ger sig ju inte så lätt utan labbar vidare) när jag körde denna fråga:
queryToRun = "SELECT m.FieldID, " & _
"(SELECT Count(SomeFieldID) FROM OtherTable WHERE SubFieldID = m.FieldID [b]GROUP BY SomeFieldID[/b]) As SomeFieldCount " & _
"FROM MainTable m"
WHOOOPS!!! ut kommer rätt resultat!
cya,
PatrikB
LarsGMedlem sedan dec. 200012 465 inlägg
Mysql upphör aldrig att förvåna. Finns det olika värden för somefield?
PatrikBMedlem sedan mars 20002 713 inlägg
he, he ... nu ser jag att min "pseudo kod" inter ser korrekt ut.
Detta är mer korrekt:
SELECT my.SomeField, (SELECT COUNT(SomeUniqueID) FROM AnotherTable WHERE SubUniqueID = my.UniqueID GROUP BY SubUniqueID) As FieldCnt " & _
"FROM MyTable my"
SomeUniqueID kan det finnas n-antal olika förekomster av i relationstabellen AnotherTable med relationen:
MyTable.UniqueID | 0 --> n | AnotherTable.SubUniqueID
Tyvärr ingen höjdare prestanda mässigt då det vart segare än att slå en join och köra en Count() och gruppera :(
cya,
PatrikB
GunnarDMedlem sedan juni 20014 250 inlägg
Tänk på att 4.1.0 är i tidigt alpha stadie!
PatrikBMedlem sedan mars 20002 713 inlägg
Jo, jag vet .... och man hoppas att det kommer förändringar till det bättre :e
cya,
/PatrikB
LMDMedlem sedan jan. 2003100 inlägg
PatrikB skrev:
Jo, jag vet .... och man hoppas att det kommer förändringar till det bättre :e
cya,
/PatrikB
Med risk för att klassas som ett troll, men jag vet att det finns många som väljer MySQL till nya projekt utan att reflektera över alternativen. Därför kan det vara intressant att se vad som erbjuds på andra sidan staketet Det finns en annan fri databas som erbjuder subselects, views, triggers, stored procedures med mera. Inte i alphaversion, inte i betaversion, utan stabilt, på riktigt. Dess namn är PostgreSQL. Se listan i slutet på den länkade sidan nedan:
http://advocacy.postgresql.org/advantages/
PatrikBMedlem sedan mars 20002 713 inlägg
Jo, jag vet om alternativen som finns och då bl a PostgreeSQL, Firebird m.m.
Dock aldrig stött på något av dem ute hos kund, men det har jag med MySQL ;) ... ett flertal gånger.
cya,
PatrikB
Dr-manMedlem sedan juli 2002728 inlägg
Men PostgreSQL fungerar inte i Windows! Eller har jag fel?
-Edit-
Jag såg länken i LMD:s inlägg att PostgreSQL 7.4 kommer att
stöda Windows! Den senaste versionen är 7.3.3, så snart kan
man använda också med Windows!