Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: scalanie pol
Forum PHP.pl > Forum > Bazy danych > MySQL
dyktek
  1. <?php
  2.  
  3.  
  4. SELECT `nazwa` || `ulica` AS polacz FROM tabela WHERE polacz LIKE 'cos tam'
  5.  
  6.  
  7. ?>


w tym rozwiązaniu miało chodzi o to żeby połączyć pola nazwa i ulica jako polacz i przeszukiwac w polacz no ale niestety to rozwiązanie nie działa sam kod

  1. <?php
  2. SELECT `nazwa` || `ulica` AS polacz FROM tabela
  3. ?>
zwraca nic smile.gif

a kod

  1. <?php
  2.  
  3.  
  4. SELECT `nazwa` || `ulica` AS polacz FROM tabela WHERE polacz LIKE 'cos tam'
  5.  
  6.  
  7. ?>


zwrac info ze nie ma takiego pola jak polacz czyli ze to połączenie nie działa,\
nospor
propnuje przejrzec zestaw funkcji operujących na stringach:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
dyktek
heh szukałem juz wczesniej ale nie znalazłem rozwiaznia pewnie dlatego że nie do końca udało mi się zrozumieć co poszczegolna funkcja na tej liscie robi, jesli znasz konkretną nazwe i mozesz ją podać byłbym wdziędzny smile.gif
nospor
CONCAT oraz CONCAT_WS

przy kazdej funckji masz przyklad jak dziala. wystarczylo tylko na to spojrzeć i skojarzyc fakty winksmiley.jpg
dyktek
czyli moje zapytanie łączące miałoby wyglądać tak

  1. <?php
  2.  
  3. SELECT * FROM tabela WHERE CONCAT_WS('','','tytul','tresc') LIKE '%a%'
  4.  
  5.  
  6. ?>

bo tak

  1. <?php
  2.  
  3. SELECT CONCAT_WS('','','tytul','tresc') AS foo FROM tabela WHERE foo LIKE '%a%'
  4.  
  5. ?>


się nie da nie łączy mi pol tytul, tresc w foo
nospor
no niestety, pod tym względem mysql jest kulawy...

pozatym uzywaj CONCAT, bo nie widze bys potrzebowal jakiego separatora

ps: i uzywaj wlasciwego bbcode [SQL]
dyktek
ostatecznie zrobiłem to tak

  1. SELECT concat(`tytul`, `tresc`) AS `foo`
  2. FROM `jakas
  3. tabela` WHERE concat(`tytul`, `tresc`) LIKE '%a%'


i działa cool.gif dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.