|
| MYSQL 1 + 1 = 2 SUM ? Fra : Mike Toxværd |
Dato : 31-01-04 23:41 |
|
Hej..
Hvis jeg nu har 2 mysql tabeller og skal ligge dem sammen.
Hvad er soucen så til det?
feks.
table PHP + Table ASP = 56 souce's
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (31-01-2004)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 31-01-04 23:56 |
|
Mike Toxværd skrev:
>Hvis jeg nu har 2 mysql tabeller og skal ligge dem sammen.
I en database kan man lægge to tabeller sammen på en million
måder. Prøv at beskrive tabellerne og hvordan resultatet skal
blive.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Mike Toxværd (01-02-2004)
| Kommentar Fra : Mike Toxværd |
Dato : 01-02-04 11:43 |
|
Bertel Lund Hansen wrote
> I en database kan man lægge to tabeller sammen på en million
> måder. Prøv at beskrive tabellerne og hvordan resultatet skal
> blive.
Hej..
Ser du..
Har en tabel med asp:
id int(11) No auto_increment
title text No
besked longtext No
- Bemærk sådan er php, css også..
og vil have at den tæller hvor mange tabeller der er ialt.
Jeg bruger denne til hvis der kun er en tabel:
$res_gtbtag = mysql_query("SELECT * FROM gtbtag ");
($antal = mysql_num_rows($res_gtbtag)); {
echo"<div><br>Der er i alt $antal Hilsner i Gæstebogen</div>"; }
Men hvis nu det er 3 ?
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Emil Rasmussen (01-02-2004)
| Kommentar Fra : Emil Rasmussen |
Dato : 01-02-04 12:19 |
|
Mike Toxværd wrote:
> og vil have at den tæller hvor mange tabeller der er ialt.
Du mener nok, at tæller hvor mange rækker der er i alt?
> $res_gtbtag = mysql_query("SELECT * FROM gtbtag ");
> ($antal = mysql_num_rows($res_gtbtag)); {
> echo"<div><br>Der er i alt $antal Hilsner i Gæstebogen</div>"; }
>
> Men hvis nu det er 3 ?
$res_gtbtag = mysql_query("SELECT *.gtbtag, *.tabel2, *.tabel3 FROM
gtbtag, tabel2, tabel3");
Jeg har ikke lige testet overstående, men jeg mener at den burde kunne
give det du er ude efter. Ellers så er det jo bare at tælle for hver
tabel, og så ligge det sammen?
Mvh Emil
--
Emil Rasmussen
http://noget.net
| |
Mike Toxværd (01-02-2004)
| Kommentar Fra : Mike Toxværd |
Dato : 01-02-04 13:11 |
| | |
Peter Brodersen (01-02-2004)
| Kommentar Fra : Peter Brodersen |
Dato : 01-02-04 15:22 |
|
On Sun, 1 Feb 2004 10:43:04 +0000 (UTC), Mike Toxværd <t0x23@msn.com>
wrote:
>og vil have at den tæller hvor mange tabeller der er ialt.
... hvor mange rækker, velsagtens.
Først og fremmest: hvis du ikke skal bruge dataen, så kan du nøjes
med:
SELECT COUNT(*) FROM gtbtag
... så får du resultatet som et felt. Så kan du bare lægge resultatet
sammen i applikationen, fx:
$res = mysql_query("SELECT COUNT(*) FROM gtbtag");
$res2 = mysql_query("SELECT COUNT(*) FROM tabel2");
$res3 = mysql_query("SELECT COUNT(*) FROM tabel3");
$antal = mysql_result($res,0);
$antal += mysql_result($res2,0);
$antal += mysql_result($res3,0);
I MySQL 4.0 kan du dog lave UNION, men det vil så stadigvæk give dig
tre rækker, fx:
SELECT COUNT(*) FROM gtbtag
UNION ALL
SELECT COUNT(*) FROM anden_tabel
UNION ALL
SELECT COUNT(*) FROM tredje_tabel
I MySQL 4.1 kan du dog lade ovenstående være en del af en subselect,
og så have en GROUP BY, der tager en SUM af de tre COUNTs. Det er nok
det tætteste, vi kommer på en ren MySQL-løsning, men 4.1 er stadigvæk
i alpha.
En løsning, hvis vi går væk fra COUNT-metoden igen, kan dog være:
SELECT id FROM asp
UNION ALL
SELECT id FROM php
UNION ALL
SELECT id FROM css
... og så bruge mysql_num_rows() for at hive antallet af rækker ud.
--
- Peter Brodersen
Ebbesen for president!
| |
|
|