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.
Altså, hvis du bare ud fra et id, skal finde alle ting du har købt henholdsvis ikke købt, er der ingen grund til at joine det sammen med bruger-tabellen:
SELECT id FROM ting WHERE brugerid = id SELECT id FROM ting WHERE brugerid != id
Men hvis det er mere generelt, så tror jeg det er coderdk's version, du er ude efter.
SELECT t2.id FROM ting AS t2 LEFT JOIN (bruger_ting AS bt INNER JOIN ting AS t1 ON t1.id = bt.id AND bt.brugerid=1) ON t2.id = t1.id WHERE t2.id IS NULL
Så nasty tror jeg faktisk, man er ude i - eller tager jeg fejl?
Ok, nu er jeg ikke helt med. Vil du have alle ting som du ikke har? Altså alle rækker fra ting som ikke har en binding med brugere_ting med dit brugerid?
Synes godt om
Slettet bruger
15. marts 2005 - 14:35#19
den siger rimelig meget fejl ved din join.
vil i ikke lade være med at kalde tabellerne noget andet plz, jeg bliver virkelig forvirret :)
"Nu finder den alle rækker undtagen dem hvor jeg er i :)"
Var det ikke det der var meningen?
Synes godt om
Slettet bruger
15. marts 2005 - 14:52#26
jo det var det..
jeg prøvede at gøre det generelt, men jeg forklarer lige min situation så :)
mine tabeller:
cykler, c_f (står for: cykler_forhandler)
og så siger jeg:
SELECT cykler.id as id, c_f.pris as pris FROM cykler LEFT JOIN c_f ON cykler.id=c_f.cykelid AND (c_f.forhandlerid IS NULL OR c_f.forhandlerid != ". $_SESSION['brugerid'].")"
Hvilket giver mig f.eks. 3 rækker med ting.id 26 (fordi 3 andre forhandlere har denne cykel)
Den gør jo det rigtige. Der er tre forskellige, da der er tre forskellige priser på det samme...
Synes godt om
Slettet bruger
15. marts 2005 - 14:57#33
jep.. men det er fordi at denne forhandler er logget ind, så skal han kunne vælge de cykler han _ikke_ selv har.. pris er egentlig ligegyldig i dette tilfælde. det skal ikke vises
Synes godt om
Slettet bruger
15. marts 2005 - 14:58#34
SELECT DISTINCTROW cykler.id as id FROM cykler LEFT JOIN c_f ON cykler.id=c_f.cykelid AND (c_f.forhandlerid IS NULL OR c_f.forhandlerid != ". $_SESSION['brugerid'].")"
Så lad være med at hive pris ud - det forvirrer kun da den netop ikke findes - altså en pris for denne forhandlers version af denne cykel. Du kan få nogle andre forhandleres priser, men det vil du jo ikke have.
SELECT DISTINCT cykler.id as id FROM cykler LEFT JOIN c_f ON cykler.id=c_f.cykelid AND (c_f.forhandlerid IS NULL OR c_f.forhandlerid != ". $_SESSION['brugerid'].")"
Og så burde det virke.
-- Morten Barklund
Synes godt om
Slettet bruger
15. marts 2005 - 14:59#36
(hvis der kun kom en række pr. cykel jeg ikke har)
Synes godt om
Slettet bruger
15. marts 2005 - 15:02#37
Nu viser den alle cyklerne med 1 række pr. cykel, sidste række er tom
Som sagt, så er du vist nødt til at joine med dig selv:
" SELECT DISTINCT c2.id FROM cykler AS c2 LEFT JOIN (cykler AS c1 INNER JOIN c_f ON c1.id = c_f.cykelid AND c_f.forhandlerid != ". $_SESSION['brugerid'].") ON c2.id = c1.id WHERE c1.id IS NULL "
Det er i hvert fald et fjollet bud - om ikke andet :)
-- Morten Barklund
Synes godt om
Slettet bruger
15. marts 2005 - 15:11#42
Der får jeg ikke noget resultat.. eller i hvert fald 0 rækker ^^
" SELECT DISTINCT c2.id FROM cykler AS c2 LEFT JOIN (cykler AS c1 INNER JOIN c_f ON c1.id = c_f.cykelid AND c_f.forhandlerid = ". $_SESSION['brugerid'].") ON c2.id = c1.id WHERE c1.id IS NULL "
Tror jeg nok :/
Synes godt om
Slettet bruger
15. marts 2005 - 15:14#44
Med samme resultat :( 0 rækker
Synes godt om
Slettet bruger
15. marts 2005 - 15:17#45
Vil du ikke lige sige til før du giver op?, hvis det lykkedes ligger der naturligvis flere point i det :o)
Synes godt om
Slettet bruger
15. marts 2005 - 15:20#46
100 point til den / dem der opdager hemligheden bag dette :)
" SELECT DISTINCT cykler.id FROM cykler LEFT JOIN c_f ON cykler.id = c_f.cykelid AND c_f.forhandlerid != ". $_SESSION['brugerid'].") WHERE c_f.forhandlerid IS NULL "
Synes godt om
Slettet bruger
15. marts 2005 - 16:08#50
Der får jeg kun 1 tom rækker (jeg har lige slettet ")" efter $_SESSION['brugerid'])
Synes godt om
Slettet bruger
15. marts 2005 - 16:19#51
den række der bliver vist er den sidste række i tabellen "cykler"
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.