I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
nåh, men se her. Det er ikke lige sådan jeg mener:
Tre tabeller
person fornavn efternavn uddannelseID byID uddannelse navn retning uddannelseID byID byer bynavn postnr byID
Jeg skal have ALLE værdier ud undtagen fremmed- og primærnøgler. MEEEEEEN..... byID(uddannelse.byid) - og dermed byen - hvor uddannelsen ligger er ikke den samme by(person.byid) som byen hvori personen bor i.
Hvordan henter man begge byer ud i SAMME SQL-sætning?
select fornavn,efternavn,navn,retning,bynavn,postnr,bynavn,postnr from uddannelse,person,byer where uddannelse.byid=byer.byid and uddannelse.uddannelseid=person.uddannelseid and person.byid=byer.byid;
Som du ser skriver jeg bynavn og postnr 2 gange. Det er fordi der er 2 forskellige værdier af bynavn og postnr.
Check lige dette her eks: person fornavn =Anders efternavn =Andersen uddannelseID =1 byID =23 uddannelse navn =KU retning =statskundskab uddannelseID =1 byID =25 byer bynavn =København K postnr =1100 byID =25
Det var hurtigt accepteret. Måske en anden kunne - jeg er trods alt ikke nutidens Einstein ;-)) Men jeg tror ikke du kan i MySql som mangler nogle af de mere "avancerede" ting i Sql.
Du kan vel lave to SELECT-er, hvor hver joiner med bytabellen, og begge er åbne samtidig, og hvor du så langsomt spadserer ned i begge parallelt. Det tror jeg er meget smartere end at gøre noget for hver post.
Jeg kom nemlig i tanker om en lille detalje, som jeg sjældent har brugt, men som præcis løser dit problem. Betragt følgende MySql-dialog, så har du løsningen. Og jeg har allerede fået pointene - så det er jo godt nok:
Query OK, 1 row affected (0.11 sec)
mysql> create table byer ( id int(11), navn char(100)) ; Query OK, 0 rows affected (0.06 sec)
mysql> insert into person values (1,'Erik',1,2); Query OK, 1 row affected (0.00 sec)
mysql> select * from person,byer as by1,byer as by2 where fby=by1.id and dby=by2.id;
+------+---------+------+------+------+---------+------+--------+ | idp | fornavn | fby | dby | id | navn | id | navn | +------+---------+------+------+------+---------+------+--------+ | 1 | Erik | 1 | 2 | 1 | Horsens | 2 | Aarhus | +------+---------+------+------+------+---------+------+--------+ 1 row in set (0.11 sec)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.