I min select sætning vil jeg gerne have et udtræk med cowid, race,name,sirename,<antal i tabellen SIRE med værdien sirename>,gsirename,<antal i tabellen SIRE med værdien gsirename>
Håber i forstår hvad jeg mener? <...> altså antallet af (g)sirename med samme navn - 0,1,2...
Skal bruges til at finde ud af om det indtastede (g)sirename eksisterer og er unikt.
SELECT cowid, race,name,sirename,(SELECT COUNT(*) FROM sire WHERE sire.name=sirename),gsirename,(SELECT COUNT(*) FROM sire WHERE sire.name=gsirename) FROM cow
Du kan prøve om ikke følgende løsning med joins giver bedre performance...
SELECT c.cowid, c.race, c.name, c.sirename, COUNT(s1.sireid), c.gsirename, COUNT(s2.sireid) FROM COW AS c LEFT JOIN SIRE AS s1 ON c.sirename = s1.sirename LEFT JOIN SIRE AS s2 ON c.gsirename = s2.sirename GROUP BY c.cowid, c.race, c.name, c.sirename, c.gsirename
Bedre sent end aldrig... Jeg undskylder og takker for hjælpen...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.