27. juni 2005 - 22:37
Der er
9 kommentarer og 1 løsning
en sql streng
hvorledes former jeg en sql streng der skal have alt med fra en tabel, hvor der ikke er nogen afhængeige af tabel-2 altså select * tabel where [der ikke er nogen forbindelse til tabel2] tael 2, har en masse data som hænger sammen med tabel 1, via en kollone, [posting_ID]
Annonceindlæg fra Computerworld
måske en NOT IN konstruktion: SELECT * FROM tabel_1 WHERE id NOT IN (SELECT id FROM tabel_2)
og et svar men check om det virker inden du accepterer
arne_v jeg fik aldrig den her logik implementeret i asp.net olda = "" SELECT a,b FROM t while more records { get record if a <> olda then udskriv header med a end if udskriv b olda = a } som du skrev i et tidligere spørgsmål, ved ikke om du kan huske det ? men det drejede sig om at jeg skulle skrive noget data ud, som lå i en tabel, gider du hjælpe ? og evt oprette et svar
kan du ikke få den til at virke ?
Jeg Har forsøgt at finde ud af om det er bedst at bruge NOT IN .. som arnev foreslår, eller at bruge et OUTER JOIN: SELECT tabel_1.* FROM tabel_1 LEFT OUTER JOIN tabel_2 ON tabel_1.posting_ID = tabel_2.posting_ID WHERE tabel_2.posting_ID IS NULL Det giver det samme, men jeg mener at det er bedre at bruge JOIN's end subqueries
jeg kunne også forestille mig at på andre databaser ville JOIN'en være hurtigere end subqueries men den subquery har en stor fordel - den er mere læsbar som "engelsk"
Nu mener jeg jo ikke at man skal bruge læsbarheden som argument for at vælge kode-syntaks. :o) Men du har ret, og når jeg bare lige skal lave et hurtigt udtræk bruger jeg også masser af subqueries, men hvis det er "alvor", og datamængderne er store bruger jeg join's
28. juni 2005 - 18:39
#10
det både bør og gør man ofte (timer er ofte dyrere GHz)
Computerworld tilbyder specialiserede kurser i database-management