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 06.09.2002, 11:03   #1
weev
Senior Member
 
Registriert seit: 02.03.2002
Beiträge: 123


Standard MYSQL Statement mit distinct

hallo forum,
ich versuche gerade ein mysql statement aufzubauen in dem ich mir alle datensätze aus der tabelle Table1 anzeigen lassen möchte bei denen ein kritetrium aus der tabelle Table2 zutreffen. das funktioniert auch aber ich bekomme doppelte datensätze aus Table1 zurück. dies will ich mit distinct vermeiden! das funktioniert auch, aber ich kann dann nicht alle felder aus table 1 anzeigen zbsp.: meinen primärschlüssel "key".
wie kann ich also alle felder aus table 1 anzeigen ohne duplikate bei denen kriterien aus table 2 erfüllt werden??

so funktionierte es:
select distinct name, land, gebiet from Table1 as t1, Table2 as t2 where t1.KEY=t2.KEY and t1.land like '%Österreich%' and t2.kat like '%5%'


?????weev
____________________________________
-- free tibet --
weev ist offline   Mit Zitat antworten
Alt 06.09.2002, 13:16   #2
bev
Senior Member
 
Registriert seit: 22.05.2002
Beiträge: 155


Standard

hallo hallo

du hast doch das feld key in tabelle 1 und tabelle 2...

versuch mal ein alias zu vergeben
zb

select distinct t1.key as key1, t2.key as key2, t1.name as name, from Table1 as t1, Table2 as t2 where t1.KEY=t2.KEY and t1.land like '%Österreich%' and t2.kat like '%5%'


gruß

bev
bev ist offline   Mit Zitat antworten
Alt 06.09.2002, 19:58   #3
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard Re: MYSQL Statement mit distinct

Zitat:
Original geschrieben von weev
funktioniert auch aber ich bekomme doppelte datensätze aus Table1 zurück. dies will ich mit distinct vermeiden! das funktioniert auch, aber ich kann dann nicht alle felder aus table 1 anzeigen


Bitte um Wiederholung!
Logisch betrachtet - versteh uich nix!?
Wie willst du alle Datensätze anzeigen wenn du keine Doppelten haben willst?

BTW: Was soll nicht doppelt sein?

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 06.09.2002, 21:04   #4
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

also was du wünscht geht IMHO mit distinct nicht, da sich die datensätze bei anzeige des PK's ja durch ebendiesen unterscheiden ...

mit distinct kannst du nur ausschließen wenn wirkliche duplikate selektiert werden.

ein select aus der tabelle PERSONEN:
Code:
ID     ZUAME      VORNAME
------ ---------- -----------
1      Maier      Karl
2      Huber      Franz
3      Maier      Reinhard
4      Mayer      Alexander
5      Gruber     Josef
liefert bei
Code:
select distinct zuname from personen;

ZUAME
----------
Maier
Huber
Mayer
Gruber
jedoch bei einem
Code:
select distinct id, zuname from personen;

ID     ZUAME
------ ----------
1      Maier 
2      Huber 
3      Maier 
4      Mayer 
5      Gruber
oder auch bei einem
Code:
select distinct zuname, vorname from personen;

ZUAME      VORNAME
---------- -----------
Maier      Karl        
Huber      Franz       
Maier      Reinhard    
Mayer      Alexander   
Gruber     Josef
____________________________________
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 10.09.2002, 13:30   #5
weev
Senior Member
 
Registriert seit: 02.03.2002
Beiträge: 123


Standard

funktioniert!!! thx bev

Syntax:
select distinct t1.KEY as KEY, t1.name as name, t1.land as land, t1.gebiet as gebiet from table1 as t1, table2 as t2 where t1.FNR=t2.FNR and t1.land like '%Österriech%' and and t2.kat like '%5%'

-weev
____________________________________
-- free tibet --
weev ist offline   Mit Zitat antworten
Alt 10.09.2002, 13:31   #6
weev
Senior Member
 
Registriert seit: 02.03.2002
Beiträge: 123


Standard

ups. das war ja falsch *g*

Syntax:
select distinct t1.KEY as KEY, t1.name as name, t1.land as land, t1.gebiet as gebiet from table1 as t1, table2 as t2 where t1.KEY=t2.KEY and t1.land like '%Österriech%' and and t2.kat like '%5%'

-weev
____________________________________
-- free tibet --
weev ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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:14 Uhr.


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