Avatar billede n-data Nybegynder
21. februar 2007 - 12:35 Der er 2 kommentarer og
1 løsning

SQL Hjælp søges

Hej jeg er ved at lave et system, og er komme til database del

>System<
SystemID
SystemName

>Customer<
CustomerID
ResellerID
CustomerType (Customer,Reseller)
CustomerName

Hvis ResellerID er null så skal den hente data fra System, ellers skal den tage fra Customer. men jeg ved ikke hvordan jeg gør

Håber i forstå mig, da jeg ikke ved hvordan jeg skal beskrive det !!
Avatar billede intenz Novice
21. februar 2007 - 22:54 #1
Det ligger udover mine evner at kode det ind i et enkelt kald.
Du kan ikke skrevet hvad der skal søges på i databaserne, så det må du selv lige kode ind.

Men hvis du bruger php (som du nok gør) kan du gøre noget i den stil her:
$res = mysql_query("select * from Customer where ResellerID != ''");
$num = mysql_num_rows($res);

if ($num == 0) {
// ResellerID er null og der hentes fra System
// hent noget fra system

} else {
// ResellerID er ikke null og der hentes fra Customer
row = mysql_fetch_assoc($res);
// osv osv
}
Avatar billede intenz Novice
21. februar 2007 - 22:54 #2
Den første skal nok være:
$res = mysql_query("select * from Customer where ResellerID != null");
Avatar billede kjulius Novice
22. februar 2007 - 01:18 #3
Er der flere systemer i System tabellen? I så fald, hvordan udvælges det system der skal tages data fra?

Principielt kan du bruge en CASE funktion til at vælge den værdi eller det felt du ønsker at bruge.

Hvis vi f.eks. antager, at din System tabel kun indeholder ét system, så kunne en løsningsmodel være:

SELECT CustomerID, ResellerId, CustomerType, CASE WHEN ResellerID IS NULL THEN SystemName ELSE CustomerName END AS Name
FROM System, Customer

Hvis der er flere systemer er du nødt til at vælge system i en WHERE sætning eller have et felt i Customer tabellen, som identificerer det system værdien skal tages fra.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester