Archief - MySQL: GROUP BY in 2 tabellen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ryzer

Legacy Member
Hey,

Ik heb een vraagje ivm een SQL query. Ik heb 2 tables: 'downtime' en 'uptime'. Deze tables hebben een veld 'server' (met de servernaam). Ik wil nu een lijst krijgen van alle servers die in die 2 tabellen zitten, maar er zitten meerdere rows met dezelfde servernaam dus ik moet een GROUP BY gebruiken om deze te groeperen. Met maar 1 tabel zo het simpelweg zo gaan:

SELECT server FROM uptime GROUP BY server;

Maar in de tabel 'downtime' staan mogelijk ook nog servernamen die nog niet in de result-array staan dan...

Dus hoe kan ik ervoor zorgen dat ik een lijst krijg van alle servernamen uit beide tabellen? Het volgende werkt helaas niet:

SELECT server FROM uptime, downtime GROUP BY server;

Mvg,
Ryzer

DeFlup

Legacy Member
euhm, gewoon 2 keer die "select server from table"
dan zet ge de servers van de 1ste in nen array
en als ge die van den 2de erin wilt zetten moete eerst checken of die er al in staat, zo ja: skip die server, zo nee: toevoegen aan array

of zoekt ge een manier met zo weinig mogelijk extra code?

Ryzer

Legacy Member
DeFlup zei:
euhm, gewoon 2 keer die "select server from table"
dan zet ge de servers van de 1ste in nen array
en als ge die van den 2de erin wilt zetten moete eerst checken of die er al in staat, zo ja: skip die server, zo nee: toevoegen aan array

of zoekt ge een manier met zo weinig mogelijk extra code?

Ik weet dat dat mogelijk is maar ik zou het graag in 1 MySQL query willen doen ;)

killgore

Legacy Member
heb niet echt tijd te zoeken (mysql is vaak proberen tot je et vind), maar:

downtime.server en uptime.server ipv gewoon server ;)

servi

Legacy Member
je uitleg is wel niet echt correct, eerst zeg je dat ze in beide tabellen moeten zitten, daarna zeg je dat ze in 1 van de twee moeten zitten.

dit is voor 1 van de 2 tabellen :

SELECT server FROM uptime
OUTER JOIN downtime
GROUP BY server;

DarkBone

Legacy Member
Gebruik een SELECT DISTINCT zodat dubbele waarden niet voorkomen ?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan