Autor |
Nachricht |
beeviZ
Threadersteller
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 28.09.2006 16:03
Titel
|
|
|
XSchinkenX hat geschrieben: | hm... schnellschuss, ungetestet wie immer:
Code: |
SELECT gastro_name FROM g_main
INNER JOIN g_main_x_type ON g_main_x_type.gastro_id = g_main.gastro_id
INNER JOIN g_type ON g_type.type_id = g_main_x_type.type_id
WHERE g_type.type_name = 'Kneipe' OR g_type.type_name = 'Café'
GROUP BY g_main.gastro_name; |
also... denk mal das stimmt, berichtigen lass ich mich natürlich. |
leider das selbe in grün.
aber lassen wir die komplizierten joins doch erstmal weg.
wie bekomme ich in die tabelle main_x_type dazu, das sie mir 1 anzeigt, wenn ich in ihr suche welche gastro_id unter type_id die werte 2 und 3 zugeordnet hat?
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Do 28.09.2006 16:20
Titel
|
|
|
Aso in der Bedingung (where-clause) natürlich AND anstelle von OR verwenden... das ist trivial. Ohne Joins gehts nicht, willst du nicht eine Transaktion mit drei SELECT-Statements verwenden.
Also bitte!!!
Zuletzt bearbeitet von am Do 28.09.2006 16:21, insgesamt 2-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
beeviZ
Threadersteller
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 28.09.2006 17:20
Titel
|
|
|
wenn ich AND anstelle von OR benutze findet er garnix. Ich habs mal mit 2 Joins versucht, das endete dann so:
prinzipiell schonmal nich schlecht. allerdings müsste ich die zeilen 1 & 2 in eine zeile kriegen und zeile 3 dürfte nich angezeigt werden, weil erfüllt nich beide suchkriterien.
aber lassen wir doch die joins und anderen tabellen und alles mal weg und konzentrieren uns einzig und alleine auf die g_main_x_type.
wie müsste man denn da selecten wenn wir sagen wir mal alle gastro_ids angezeigt bekommen wollen welche einen eintrag haben bei g_main_x_type.type_id = 2 AND g_main_x_type.type_id = 3 ?
//edit:
Code: | SELECT gastro_id, GROUP_CONCAT(type_id SEPARATOR ', ') AS t FROM g_main_x_type GROUP BY (gastro_id) |
gibt mir haargenau das was ich will:
Code: | Array
(
[gastro_id] => 1
[t] => 2, 3
)
Array
(
[gastro_id] => 2
[t] => 2
) |
allerdings kann ich „t“ nich nach 2 & 3 durchsuchen, weil er mir dauernd erzählt Zitat: | #1054 - Unknown column 't' in 'where clause' | , weswegen ich damit auch schon wieder nich aussortieren kann welcher laden wirklich nur 2 & 3 (und meinetwegen auch mehr) hat … ideen?
Zuletzt bearbeitet von beeviZ am Do 28.09.2006 17:27, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
[MYSQL & PHP || GELÖST] -> Join-Abfrage
MySQL: Left JOIN Problem
[PHP&MySQL] Insert in 2 Tabellen
[PHP/MySQL] Tabellen zusammenführen
[PHP/MySQL] Tabellen automatisch wiederherstellen?
Problem mit mysql, Verknüpfung von Tabellen
|
|