Автор Тема: Как да взема от една колона две стойности  (Прочетена 1552 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

antony

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 60
Привет,

Отново се появи въпросче при мен.

Имам в базата данни колона която съдържа 3 стойности 1, 2 и 3.
Как да задам заявката така, че да взема стойности 2 и 3.

Бях го направил така:

 ' SELECT SQL_CALC_FOUND_ROWS links.title, links.`desc`, links.link, links.link_level FROM links WHERE  ' .$cat_id. ' =links.cat_id AND links.link_level=3 || links.link_level=2 ORDER BY links.date_add ASC LIMIT  ' .($limit*$page). ' , ' .$limit;

Нестава, линка с ниво 2 се появява във всички заявки, губи се ограничението WHERE  ' .$cat_id. ' =links.cat_id

Благодаря!

mgrozdanov

  • Full Member
  • ***
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 136
Отг:Как да взема от един ред две стойности
« Отговор #1 -: 20 Декември 2009, 18:51:36 »
Това май е написано на обратно WHERE  ' .$cat_id. ' =links.cat_id. Трябва да е WHERE links.cat_id= ' .$cat_id. '

Stilgar

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 42
  • Публикации: 1406
    • The Sietch
Отг: Как да взема от един ред две стойности
« Отговор #2 -: 20 Декември 2009, 19:03:58 »
На първо време да те питам ти разлика между ред и колона правиш ли?

antony

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 60
Отг:Как да взема от един ред две стойности
« Отговор #3 -: 20 Декември 2009, 20:22:47 »
mgrozdanov написа:
Цитат
Това май е написано на обратно WHERE  ' .$cat_id. ' =links.cat_id. Трябва да е WHERE links.cat_id= ' .$cat_id. '


Мислиш ли, че има някакво значение?

mgrozdanov

  • Full Member
  • ***
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 136
Отг:Как да взема от един ред две стойности
« Отговор #4 -: 20 Декември 2009, 20:45:56 »
antony написа:
Цитат
mgrozdanov написа:
Цитат
Това май е написано на обратно WHERE  ' .$cat_id. ' =links.cat_id. Трябва да е WHERE links.cat_id= ' .$cat_id. '


Мислиш ли, че има някакво значение?


Може и да наямя, просто не съм виждал до сега да се пише в обратен ред.

Тука AND links.link_level=3 || links.link_level=2 пробвай с links.link_level NOT IN(2,3)

Стойноста на links.link_level от къде я взимаш. Не става ли просто да е AND links.link_level=$stoinost

antony

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 60
Отг:Как да взема от един ред две стойности
« Отговор #5 -: 20 Декември 2009, 20:51:26 »
mgrozdanov написа:
Цитат
antony написа:
Цитат
mgrozdanov написа:
Цитат
Това май е написано на обратно WHERE  ' .$cat_id. ' =links.cat_id. Трябва да е WHERE links.cat_id= ' .$cat_id. '


Мислиш ли, че има някакво значение?


Може и да наямя, просто не съм виждал до сега да се пише в обратен ред.

Тука AND links.link_level=3 || links.link_level=2 пробвай с links.link_level NOT IN(2,3)

Стойноста на links.link_level от къде я взимаш. Не става ли просто да е AND links.link_level=$stoinost


Мерси приятелю! Не е точно както ми предложи , но като обърнах логиката стана перфектно.
links.link_level NOT IN(1)и така излиза всичко друго освен 1.

Поздрави!

mgrozdanov

  • Full Member
  • ***
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 136
Отг:Как да взема от един ред две стойности
« Отговор #6 -: 20 Декември 2009, 21:00:33 »
Да, ти всъщност търсиш 2 и 3. Тогава го напиши AND links.link_level IN(2,3). Може да се окажи по-удачно за по нататъка.

antony

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 60
Отг:Как да взема от един ред две стойности
« Отговор #7 -: 20 Декември 2009, 21:38:17 »
mgrozdanov написа:
Цитат
Да, ти всъщност търсиш 2 и 3. Тогава го напиши AND links.link_level IN(2,3). Може да се окажи по-удачно за по нататъка.


Мерси отново,

Наистина ще го сменя за да е правилно структурирано, не че не става и по-обратния начин.


Поздрави!