15. oktober 2005 - 14:44
Der er
5 kommentarer og
1 løsning
sql fra 2 tabler?
Hejsa,
jeg har 2 tabler.
id | name
1 test
2 okay
id | subid
1 1
1 1
1 1
1 1
1 2
1 2
hvordan laver jeg sådan en udtræk fra min 2 tabler.
test (4)
okay (2)
15. oktober 2005 - 14:52
#1
SELECT name,COUNT(*)
FROM tabel1,tabel2
WHERE tabel1.id=tabel2.subid
GROUP BY name
vil jeg tro
15. oktober 2005 - 15:32
#2
eller måske...
SELECT name, sum(tabel2.subid) as mySum
FROM tabel1,tabel2
WHERE
tabel1.id=tabel2.subid
GROUP BY
name
15. oktober 2005 - 21:11
#4
mysql> CREATE TABLE tabel1 (id INTEGER PRIMARY KEY,name VARCHAR(20));
Query OK, 0 rows affected (0.03 sec)
mysql> CREATE TABLE tabel2 (id INTEGER PRIMARY KEY, subid INTEGER);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO tabel1 VALUES(1,'test');
Query OK, 1 row affected (0.02 sec)
mysql> INSERT INTO tabel1 VALUES(2,'okay');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO tabel2 VALUES(1,1);
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tabel2 VALUES(2,1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO tabel2 VALUES(3,1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO tabel2 VALUES(4,1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO tabel2 VALUES(5,2);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO tabel2 VALUES(6,2);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM tabel1;
+----+------+
| id | name |
+----+------+
| 1 | test |
| 2 | okay |
+----+------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM tabel2;
+----+-------+
| id | subid |
+----+-------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 2 |
| 6 | 2 |
+----+-------+
6 rows in set (0.00 sec)
mysql> SELECT name,COUNT(*)
-> FROM tabel1,tabel2
-> WHERE tabel1.id=tabel2.subid
-> GROUP BY name;
+------+----------+
| name | COUNT(*) |
+------+----------+
| okay | 2 |
| test | 4 |
+------+----------+
2 rows in set (0.00 sec)