Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] SELECT WHERE id
Spirit86
post
Post #1





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam
Chcę zrobić coś takiego:

Pobierz z tabeli
SELECT FROM tabela WHERE id=1 ( OR id = 10 ->jeżeli nie ma rekordów o id=1)

Napisałem:
  1. SELECT
  2. t1.naglowki
  3. FROM
  4. (
  5. SELECT
  6. @rownum := @rownum +1 AS rownum, naglowki
  7. FROM xn_layout WHERE id='1'
  8. ORDER BY id ) t1
  9. WHERE
  10. id =
  11. CASE WHEN t1.rownum=0 THEN
  12. '1'
  13. ELSE
  14. '10'
  15. END

Jednak powyższy kod nie zwraca rekordów. Może da się to zrobić jakoś prościej? (nie chce postów typu: zadaj 2 pytania w php)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
To jest ułomne zastosowanie i nie uniwersalne
Podałęś konkretną sytuację, podano ci najlepsze rozwiązanie dla tej sutyacji. Co w tym ułomnego?

Cytat
Gdy mam id nie jest unikatowe
I teraz dopiero precyzujesz. W świetle nowych faktów podane rozwiązanie faktycznie jest ułomne, Nie można było tak od razu?

W życiu bym nie przypuszczał, że pole o nazwie ID może nie być unikalne... no ale co kraj to obyczaj (IMG:style_emoticons/default/smile.gif)

Tak na szybko:
  1. SET @zm:=10;
  2. SELECT * FROM (
  3. SELECT cc.*,IF(ID=1,@zm:=1,0) FROM TABLE cc WHERE ID = 1 OR ID=10
  4. ) podsel WHERE podsel.ID=@zm
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 07:02