alter.fire skrev:
> On 9 Maj, 22:01, Gert Krabsen <fjernkrab...@fjernkrabsenfjern.dk>
> wrote:
>> alter.fire skrev:
>>
>>
>>
>>
>>
>>> On 9 Maj, 11:26, Gert Krabsen <fjernkrab...@fjernkrabsenfjern.dk>
>>> wrote:
>>>> Firestone skrev:
>>>>> Jeg vil sammenligne 2 databasers felt som hedder "navn" dette felt er også
>>>>> unikt i begge databaser.
>>>>> database: KompletDB - felt 'navn'
>>>>> Sammenlignes med
>>>>> database: Inkomplet - felt 'navn'
>>>>> output skal være de entries i KompletDB, som ikke forefindes i InkompletDB
>>>>> hvordan vil i gribe det an?
>>>>> jeg har tænkt mig at lave det i php.
>>>> Hvoffer det - når nu det kan klares i en enkelt:
>>>> SELECT * FROM KompletDB
>>>> WHERE KompletDB.navn NOT IN
>>>> (
>>>> SELECT Inkomplet.navn
>>>> FROM Inkomplet
>>>> )
>>>> vupti..
>>>> ..med forbehold for, at du mener to _tabeller_ og ikke to _databaser_
>>>> for så er det noget helt andet og afhængigt af hvilken databasetype vi
>>>> snakker om..
>>> Det som du skriver det, holder ikke...
>> Jo det gør - hvis du læser al det jeg skrev.
.
>>
>>> i en phpmyadmin, kan den ikke håndtere, database tabel uden
>>> databasenavnet etc kompletDB.tabelnavn
>> Så er det jo også fordi det - som jeg tog forbehold for - drejer sig om
>> to tabeller i forskellige _databaser_ . Og så er det som sagt noget helt
>> andet.
>>
>>> Jeg forsøger lige med en mere klar formulering..
>>> Jeg vil finde diff: kompletDB.tabel.navn
>>> (databasenavn.tabelnavn.feltnavn) vs inkompletDB.tabel.navn
>>> (database2navn.tabel2navn.felt2navn)
>>> dvs jeg vil liste de navne fra kompletDB som ikke findes i
>>> inkompletDBen
>> Så ville jeg starte med at importere tabellen fra inkompletDB over i
>> kompletDB. Simpelthen fordi det nemt bliver noget pangel, når man vil
>> lave en SQL på tværs af databaser.- Skjul tekst i anførselstegn -
>>
>> - Vis tekst i anførselstegn -
>
> Ville det så ikke være muligt med en left join ? og så sammenligne
> tabellerne ? selvom problemer nok er at de har samme 2 navne. bare fra
> hver deres database?
Nej. For en SQL med JOIN lister jo de resultater, hvor der _er_ records
i begge tabeller. Og du ønsker jo de resultater, hvor der _ikke er_
records i begge tabeller.
Og så er min første SQL - den med 'NOT IN' - den rigtige. Og kan den
ikke laves på tværs af databaser, ja så må du som skrevet lægge
tabellerne i samme database først.