Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

MYSQL select fra flere tabeller

Af Guru Hest| | 18-08-2011 12:06 | 1519 visninger | 7 svar, hop til seneste
Hej Jeg har et problem med at hente nogle data fra min mysql database. Problemet er at den skal tælle (SUM) indholdet af en række fra en tabel ud fra en anden tabel. Tabel 1 = classes Tabel 2 = guilds Her er et eksempel på query. Det er ikke noget den forstår, men det vises nok bedre hvad der skal ske. "SELECT SUM(undecided) FROM classes WHERE classes.gid = guilds.gid AND guilds.allegiance = 'PvE')" Ved ikke lige om det er godt nok forklaret til at nogen kan hjælpe, men ellers må i lige sige hvad i skal bruge af info. Alle rækker i query findes selvfølgelig i tabellerne. Men jeg får denne fejl: mysql_fetch_array() expects parameter 1 to be resource. Nogen der kan hjælpe mig videre så jeg kan hente det her data ud.
--
#1
nikolajs12
Giga Nørd
18-08-2011 12:08

Rapporter til Admin
Du skal lave et INNER JOIN Se mere her http://w3schools.com[...]
--
#2
DonkeyDragon
Ny på siden
19-08-2011 11:10

Rapporter til Admin
Ja, lav et inner join sådan at det bliver SELECT SUM(undecided) FROM classes INNER JOIN guilds ON classes.gid = guilds.gid WHERE guilds.allegiance = 'PvE')
--
#3
Tux
Maxi Nørd
19-08-2011 12:03

Rapporter til Admin
Eller: SELECT sum(undecided) FROM classes, guilds WHERE classes.gid = guilds.gid AND guilds.allegiance 'PvE'
--
Core i7-920 D0 @ 2.66 GHz -|- Gigabyte GA-X58-UD4 -|- Kingston 6x2 DDR3 (1333 MHz) -|- GTX285 1GB DDR3 -|- Windows 7 Ultimate 64bit
#4
nikolajs12
Giga Nørd
19-08-2011 12:55

Rapporter til Admin
#3 Du må ikke hænge mig op på det, men vil den ikke både tælle classes og guilds, og dermed få det dobbelte antal rækker?
--
#5
Caspian
Semi Supporter
19-08-2011 12:58

Rapporter til Admin
#4 nej den vil kun tage de rows hvor både "C.gid = G.gid" OG G.allegiance = 'PvE'" For at lave din skulle du lave to select querys og merge dem.
--
#6
nikolajs12
Giga Nørd
19-08-2011 13:05

Rapporter til Admin
#5 Holder stadig på et inner join er den rigtige løsning, er ret sikker på der er nogle hastighedsforskelle.
--
#7
Tux
Maxi Nørd
19-08-2011 13:12

Rapporter til Admin
#6 Ikke på inner joins. Der er ingen hastigheds forskelle på INNER JOIN og IMPLICIT JOIN. Det er noget andet med OUTER JOINS. Funktions mæssigt er der ingen forskel på INNER JOIN og IMPLICIT JOIN.
--
Core i7-920 D0 @ 2.66 GHz -|- Gigabyte GA-X58-UD4 -|- Kingston 6x2 DDR3 (1333 MHz) -|- GTX285 1GB DDR3 -|- Windows 7 Ultimate 64bit

Opret svar til indlægget: MYSQL select fra flere tabeller

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning