php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.11.2006, 09:29  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard join problem

Ich lese mich nun schon seit 2 Tagen durch bücher und durchs netz - aber irgendwie versteh ich das mit den join nich wirklich.

Mein Problem:
Ich habe einen Online-shop in dem es eine suche gibt. Nun kann man ganze kategorien abschalten! Das Problem is-> Wie mach ich nun die Abfrage für die Suche?

Code:
Tabelle1 (rubriken)
ID ; aktiv ; rub_name ; top_rubrik ; sub_rub
Code:
Tabelle 2 (produkte) - gekürzt sind 30 felder
ID ; aktiv; rubrik
Ich müsste also 2 Abfragen zusammenbringen.
1. select ID from rubriken where aktiv='j';
2. select ID from produkte where aktiv='j' and rubrik irgendwo in abfrage 1

kann mir jemand nen tip geben?
kid01 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.11.2006, 11:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

SELECT p.id FROM produkte AS p INNER JOIN rubriken AS r ON p.rubrik = r.id AND r.aktiv = 'j' WHERE p.aktiv = 'j'

oder mittels Subselect, ist aber nicht nötig und geht erst seit MySQL 4.1:
SELECT id FROM produkte WHERE aktiv = 'j' AND rubrik IN (SELECT id FROM rubriken WHERE aktiv = 'j')
Zergling-new ist offline   Mit Zitat antworten
Alt 28.11.2006, 11:00  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

hach - ich bin zu blöd - nich ma der alte trick funzt
sonst schlaf ich immer drüber und dann gehts - also doch ausführlich - und ich hab gedacht, ich kanns ableiten

also
Code:
Tabelle  rubrik= rubrik_id; aktiv; rubrik; top_rub; sub_rub;

Tabelle artikel= artikel_id; aktiv; isbn; internbestnr; titel; untertitel; bib_angaben; kurztext; langtext; zusatztext; rubrik; neu; preis; brutto; image; mwst; pfand; angebot; angebot_preis; angebot_bis;
so nun wollte ich
Code:
SELECT * FROM artikel WHERE aktiv = 'j' AND rubrik_id IN (
   SELECT rubrik_id FROM rubrik WHERE aktiv = 'j')
ausführen.
Nur ich bekomm immer die Meldung, dass rubrik_id nich existiert
MySQL meldet: #1054 - Unknown column 'rubrik_id' in 'IN/ALL/ANY subquery'

Kann mir jemand auf die Sprünge helfn?
Und bitte bitte den join-befehl dafür geben?
kid01 ist offline   Mit Zitat antworten
Alt 28.11.2006, 11:08  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ist nicht dein ernst? :P

Zitat:
SELECT * FROM artikel WHERE aktiv = 'j' AND rubrik_id IN (
SELECT rubrik_id FROM rubrik WHERE aktiv = 'j')
Zitat:
Tabelle artikel= artikel_id; aktiv; isbn; internbestnr; titel; untertitel; bib_angaben; kurztext; langtext; zusatztext; rubrik; neu; preis; brutto; image; mwst; pfand; angebot; angebot_preis; angebot_bis;
Code:
SELECT a.*, r.*
FROM artikel AS a
LEFT JOIN rubrik AS r
ON r.aktiv = 'j' AND r.rubrik_id = a.rubrik
WHERE a.aktiv = 'j'
Zergling-new ist offline   Mit Zitat antworten
Alt 28.11.2006, 11:54  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

toll - mannnn war ich blind

vor allem seh ich nun, dass mir es so nix bringt *nerv*
aber zumindest is das der richtige weg. - Dumme Tabellnstruktur- ich hätte den Shop selbst machn solln

also danke erstma
kid01 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
[gelöst]LEFT JOIN, DINSTINCT und trotzdem doppelte?!?! stefanjann Datenbanken 10 06.02.2008 11:49
JOIN / LEFT JOIN und Co prinzli Datenbanken 12 05.11.2007 22:15
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
inner join aus db PHP Tipps 2006 8 22.01.2006 01:23
Select Problem Datenbanken 17 16.01.2006 21:54
[Erledigt] Abfrageproblem mit Inner Join Datenbanken 15 29.11.2005 18:17
[Erledigt] LEFT JOIN Query Bildung Datenbanken 6 04.11.2005 15:24
sql-Abfrage inner join - unerklärliches Problem havok Datenbanken 6 17.10.2005 14:32
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
Join Problem Simon9990 PHP Tipps 2005-2 1 21.07.2005 22:15
Problem mit Where und Join Datenbanken 5 06.07.2005 18:05
[Erledigt] Problem mit JOIN Datenbanken 7 27.08.2004 16:00
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
select mit 2 abfragen zusammenbringen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.