Kom ihåg mig?

Behöver hjälp med lite mer invecklad SQL-stats (MySQL)

 
Ämnesverktyg Visningsalternativ
Gammal 2019-02-16, 19:37 #1
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 763
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 763
Standard Behöver hjälp med lite mer invecklad SQL-stats (MySQL)

Hej,

jag skulle behöva lite hjälp med in invecklad SQL-stats.

har två olika tabeller. Customer + Followers


-- GER MIG ANTAL FÖLJARE
SELECT COUNT(*) AS following FROM Followers WHERE accountNo = '907286609046' GROUP BY accountNo


-- GER MIG CUSTOMER
SELECT * FROM Customer c INNER JOIN OptInChannels o ON c.accountNo=o.accountNo WHERE c.accountNo = '907286609046'

Det är i den senare satsen jag även skulle vilja få med antalet following som en egen kolumn
naak2803 är inte uppkopplad   Svara med citatSvara med citat
Gammal 2019-02-16, 19:41 #2
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 763
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 763
Never mind... efter lite experimenterande så lyckade jag fixa till det...
SELECT * FROM Customer c INNER JOIN OptInChannels o ON c.accountNo=o.accountNo INNER JOIN (SELECT COUNT(*) AS following FROM Followers WHERE accountNo = '907286609046' GROUP BY accountNo) f WHERE c.accountNo = '907286609046'
naak2803 är inte uppkopplad   Svara med citatSvara med citat
Gammal 2019-02-16, 19:52 #3
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 763
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 763
men har fortf lite problem, denna stats fungerar endast om "SELECT COUNT(*) AS following FROM Followers WHERE accountNo = '907286609046' GROUP BY accountNo" retunerar något. Är det tom så fungerar inte satsen. Då vill jag att following visas som 0....


någon?
naak2803 är inte uppkopplad   Svara med citatSvara med citat
Gammal 2019-02-18, 12:38 #4
troeglori troeglori är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2014
Inlägg: 8
troeglori troeglori är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2014
Inlägg: 8
Ta bort grupperingen. Den borde ej behövas i den query'n?
troeglori är inte uppkopplad   Svara med citatSvara med citat
Gammal 2019-02-18, 14:08 #5
blaff blaff är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2012
Inlägg: 2
blaff blaff är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2012
Inlägg: 2
Om customers endast kommer returnera en rad så bör ju denna fungera:

Kod:
SELECT c.*,  (SELECT COUNT(*) FROM Followers AS f WHERE f.accountNo = c.accountNo) AS followers FROM Customer c INNER JOIN OptInChannels o ON c.accountNo=o.accountNo WHERE c.accountNo = '907286609046'
blaff är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 01:08.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017