WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 23.09.2004, 13:33   #1
reichr
Veteran
 
Registriert seit: 31.12.2002
Beiträge: 390


reichr eine Nachricht über ICQ schicken
Standard SQL Statement

hy!

habe 2 tabellen

tab1
artnr,...

tab2
artnr,...

nun möchte ich alle artnr von der tab2 rausbekommen die
in der tab1 nicht vorhanden sind!

wie stell ich das am besten an??
____________________________________
lg


Chris
reichr ist offline   Mit Zitat antworten
Alt 23.09.2004, 13:44   #2
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

Code:
select t1.artnr
from tab1 t1
where not exists (select 1
                  from tab2 t2
                  where t2.artnr = t1.artnr)
;
____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Alt 23.09.2004, 14:40   #3
reichr
Veteran
 
Registriert seit: 31.12.2002
Beiträge: 390


reichr eine Nachricht über ICQ schicken
Standard

mercy

that`s great
____________________________________
lg


Chris
reichr ist offline   Mit Zitat antworten
Alt 23.09.2004, 16:26   #4
heli2sky
Master
 
Registriert seit: 02.10.2001
Alter: 38
Beiträge: 523


heli2sky eine Nachricht über ICQ schicken
Standard

wo wir grad dabei sind...

ich hab eine suche, die in 3 schritten sucht (für ein lexikon):
1. Schritt: übereinstimmungen in den begriffstiteln
2.: -"- beschreibungen
3.: -"- kommentaren

wenn man jetzt nach "rotor" sucht, was auch unter 1. gefunden wird, soll es nicht mehr unter 2. aufscheinen. wie mach ich das am besten?

PHP-Code:
    $query1 "SELECT * FROM begriffe WHERE MATCH(begriff) AGAINST('$suche*' IN BOOLEAN MODE);";
    
$query2 "SELECT * FROM begriffe WHERE MATCH(text) AGAINST('$suche*' IN BOOLEAN MODE);";
    
$query3 "SELECT * FROM comments WHERE MATCH(comment) AGAINST('$suche*' IN BOOLEAN MODE);"
____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
Lucius Annaeus Seneca


...:::www.modellbaulexikon.org:::...

www.acrobat-se.org | www.ams-8c.de.vu
heli2sky ist offline   Mit Zitat antworten
Alt 23.09.2004, 17:08   #5
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

konkretisiere "suche" ... ist das alles in einer tabelle? schaut nicht so aus ... du hast lt. deinem beispiel mindestens 2 tabellen (begriffe, comments) ...

am besten beide tabellen joinen und dann in der where-clause mit "or" die einzelnen kriterien prüfen ...

zb.:
Code:
select *
from begriffe b,
     comments c
where c.begriff_id = b.id               /* join, gemäß deiner primär und fremdschlüssel anzupassen */ 
  and (   b.begriff like '%[suchwort]%'
       or b.text    like '%[suchwort]%'
       or c.comment like '%[suchwort]%'
      )
;
____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Alt 28.09.2004, 17:55   #6
lual
Jr. Member
 
Registriert seit: 11.06.2002
Beiträge: 46


Standard

hallo,
zu deinem ersten problem gibt es auch eine zweite lösung, die möglicherweise schneller ist (falls das eine rolle spielt).

select t1.artnr
from tab1 t1
EXCEPT CORRESPONDING (artnr)
select t2.artnr
from tab2 t2
;

für ORACLE schaut das selbe so aus:

select t1.artnr
from tab1 t1
MINUS
select t2.artnr
from tab2 t2
;
____________________________________
lg lual
lual ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:37 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag