Marcin Szymkun

Marcin Szymkun SAP ABAP Consultant
- freelance,
contractor

Temat: [SQL] Zapytanie SELECT

Witam serdecznie,

Chciałbym prosić o pomoc w napisaniu działającego SELECT-a.

Co ma się dziać?
W tabeli: "baza" mamy wypisanie możliwe połączenia powiedzmy autobusów. Kolumny w tabeli: ID, ZMIASTA, DOMIASTA.
Musimy wyświetlić możliwe połączenia z PRZESIADKĄ z punktu A do punktu B przez DOWOLNY punkt C. Bezpośrednich nie bierzemy pod uwagę.

Wynik:

A - C1
C1 - B

A - C2
C2 - B

Mój początek (dodatkowe elementy usunięte bo tu mało ważne były):

SELECT *
FROM baza
WHERE ZMIASTA = A OR DOMIASTA = B.

Wiadomo wynik bedzie w stylu:

A - X
A - C
D - B
C - B
itd

No i z tego trzeba "wyłowić" tylko te poprawne czyli tutaj:
A - C
C - B

Przypominam za C może być cokolwiek.

Z góry dzięki za pomoc :)Marcin Szymkun edytował(a) ten post dnia 26.03.09 o godzinie 15:55
Andrzej Koman

Andrzej Koman Manager
Bankowość/IT/ERP

Temat: [SQL] Zapytanie SELECT

SELECT b1.z , b2.do FROM baza b1, baza b2
WHERE b1.z = 'A'
AND b2.do = 'B'
AND b1.do = b2.zAndrzej Koman edytował(a) ten post dnia 26.03.09 o godzinie 16:07
Marcin Szymkun

Marcin Szymkun SAP ABAP Consultant
- freelance,
contractor

Temat: [SQL] Zapytanie SELECT

Andrzej Koman:
SELECT b1.z , b2.do FROM baza b1, baza b2
WHERE b1.z = 'A'
AND b2.do = 'B'
AND b1.do = b2.zAndrzej Koman edytował(a) ten post dnia 26.03.09 o godzinie 16:07

b1 i b2 to są aliasy do jednej tabeli "baza" ?

konto usunięte

Temat: [SQL] Zapytanie SELECT

Oczywiście że tak.

Kompletnie:

SELECT b1.ZMIASTA, b2.DOMIASTA
FROM baza AS b1, baza AS b2
WHERE b1.ZMIASTA = 'A'
AND b2.DOMIASTA = 'B'
AND b1.DOMIASTA = b2.ZMIASTA;
Marcin Szymkun

Marcin Szymkun SAP ABAP Consultant
- freelance,
contractor

Temat: [SQL] Zapytanie SELECT

Tylko trochę nie do końca taki efekt będzie jak miał być.
Jeżeli dobrze widzę to pokaże:
A - B
jeżeli znajdzie, że jest możliwość przesiadki.

Mi chodziło o kompletną informację czyli:

A - coś
coś - B
Marcin K.

Marcin K. Kredyty, back office

Temat: [SQL] Zapytanie SELECT

SELECT b1.ZMIASTA, b1.DOMIASTA przesiadka, b2.DOMIASTA
FROM baza AS b1, baza AS b2
WHERE b1.ZMIASTA = 'A'
AND b2.DOMIASTA = 'B'
AND b1.DOMIASTA = b2.ZMIASTA;
Karol Wojtiuk

Karol Wojtiuk Team Leader, SMT
Software

Temat: [SQL] Zapytanie SELECT

delikatna zmiana:

SELECT b1.ZMIASTA, b1.DOMIASTA, b2.DOMIASTA
FROM baza AS b1, baza AS b2
WHERE b1.ZMIASTA = 'A'
AND b2.DOMIASTA = 'B'
AND b1.DOMIASTA = b2.ZMIASTA;

No chyba, że chcesz w dwóch rekordach.
Marcin Szymkun

Marcin Szymkun SAP ABAP Consultant
- freelance,
contractor

Temat: [SQL] Zapytanie SELECT

OK. Przerobiłem na własne potrzeby i działa.

Dzięki za pomoc.

Następna dyskusja:

[SQL] Zapytanie TSQL z wyko...




Wyślij zaproszenie do