prosta zaiavka koiato mi e problem..

3 отговора 222 прегледа
#1

prosta zaiavka koiato mi e problem..

dve tablici:
tbl1 s koloni : id_tbl1,name_tbl2
tbl2 s koloni : id_tbl2,fk_idtbl1_tbl2,date_tbl2,status_tbl2

zapisi v tbl1
1 ala
2 bala
3 portakala

zapisi v tbl2
1 1 '2004-09-13 11:51:56' 0
2 1 '2004-09-14 11:51:56' 1
3 2 '2004-09-13 11:52:00' 0
4 1 '2003-09-13 11:51:56' 0

iskam darazbera kak dapolu4a statusa i datata za vsiqka stoinost na name_tbl1

v momenta pravia slednoto
I TO NE RABOTI :

SELECT name_tbl1,date_tbl2,status_tbl2
FROM tbl1
LEFT JOIN tbl2 ON id_tbl1=fk_idtbl1_tbl2
WHERE date_tbl2 IN (SELECT MAX(date_tbl2) AS date_tbl2 FROM tbl2 WHERE group by (fk_idtbl1_tbl2) )

podzaiavkata raboti sama no ne i kato 4ast ot goliamata zaiavka....


otnosno DB servera :
mysql> status
--------------
mysql Ver 12.22 Distrib 4.0.21, for pc-linux-gnu (i386)

Connection id: 257
Current database: ala-bala
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Server version: 4.0.21-log
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 4 hours 44 min 49 sec

Threads: 1 Questions: 2641 Slow queries: 0 Opens: 66 Flush tables: 1 Open tables: 60 Queries per second avg: 0.155
--------------

mysql>

Отговор
в отговор на kr #2

MySQL 4.1

Вложените SELECT-и се поддържат от MySQL 4.1 нагоре. За твоя случай единственото решение, за което се сещам е с temporary table.

И...ако не ти е проблем, пиши на български - повече хора ще могат да ти помогнат.

Everything louder than everything else...
Отговор
в отговор на kr #3

Re: prosta zaiavka koiato mi e problem..

ako probva6 slednata zaqvka ko 6e stane:

SELECT name_tbl1, MAX(date_tbl2), status_tbl2
FROM tbl1, tbl2
WHERE id_tbl1 = fk_idtbl1_tbl2
GROUP BY name_tbl1, status_tbl2

Отговор
в отговор на AvB #4

Re: prosta zaiavka koiato mi e problem..

Много благодаря на Dakota за инфото.
а за варианта да позлвам group by не става по простата причина
че не искам group-вам по много полета - например status_tbl2 който не участва в твоята заявка.
ще пробвам да направя това с view пък дано mysql-a да го поддържа...
иначе -> PostgreSQL

Отговор