Подреждане при mysql заявка.

nagradi.is

New Member
Здравейте,
Имам проблем и бих бил много благодарен ако някой помогне.
Става въпрос за php, теглим данни от mysql база данни.

Имаме няколко id-та и от таблица Price дърпаме "select*from price where id IN ($id) order by price desc"
от там тези същите id-та, вече подредени по цена, трябва да ги използваме за влачене от друга таблица.

Как аджеба следващото дърпане с тези ид-та да ми излезе в ред, в какъвто излязоха от таблица price?

когато пробвам "select*from `другата таблица` where id IN ($priceid)" излизат подредени не както са били, а ми какъвто е index на таблицата, а не мога да напиша order by IN ($priceid) :D
Благодаря предварително..
 
select
`другата таблица`.*
from
price
inner join
`другата таблица` ON `другата таблица`.id = price.id
where
price.id IN ($id)
order by
price desc

// тъкмо се изкъпах и ти я написах гол ;)
 
От: Подреждане при mysql заявка.

благодаря ти..ама неще нещо пустината му..
сега четох за Order by FIELD(id, $priceid) ама и то се пъне..ще го измисля, мерси все пак :)
 
От: Подреждане при mysql заявка.

не иска и не иска..ще се опитам да опиша проблема по-подробно.
имаме ID-та 1,2,5,7, взети от една таблица. С тези ID-ta селект-ваме от втора таблица и ги изкарваме подредени по друг начин (2,7,1,5). Така подредени трябва да ги извадим от първата таблица, от която сме ги взели. Просто е..



Благодаря!
 
От: Подреждане при mysql заявка.

Да, проблема ми е, че във втората таблица ID-тата са повтарящи се..имам 3 записа с id=5 и трябва да изведа най-евтиния (този, на който полето му price е с най-ниска стойност)...

вади ми грешка
#1066 - Not unique table/alias: 'Price'
 
От: Подреждане при mysql заявка.

Ето ти линк, който също ще ти помогне.
Разбира се има поне още един начин да се реши проблема.

Ти кой опита?
 
От: Подреждане при mysql заявка.

къде е грешката мамка му

SELECT Deal.*, min(Price.price)
FROM Price
INNER JOIN Deal
ON Deal.id=Price.dealId
order by Price.price

така ми вади само най-евтиния резултат
 
От: Подреждане при mysql заявка.

left join....... aaa ти нали искаше само най - евтиния?....
 
От: Подреждане при mysql заявка.

Момчета, стана! Благодаря много на всички, просто сте много големи :)) Евала!
 
От: Подреждане при mysql заявка.

Аз така и не можах да разбера какво точно искаш, но ми се струва, че не ти е добре структурирана базата и таблиците.

Обясни по-точно какво точно искаш защото така е просто объркващо.

А и защо ползваш INNER JOIN?
 
От: Подреждане при mysql заявка.

Ползвах Inner join, защото така каза колегата :D аз не я знаех тази функция.
Исках да подредя едни резултати по цена, като използвам id-та от друга таблица.

Сега идва въпроса мога ли в същото query да вкарам трета таблица, като от нея вземам Id-тата, подреждам ги по цена през втората таблица, и ги селектвам от първата..
Възможно ли е ?
 
От: Подреждане при mysql заявка.

Най-добре прегледай документацият на mysql и после задавай въпроси ако има нещо неясно.

Иначе това което питаш е просто JOIN дали ще са 2 или 10 таблици няма значение в структурата на заявката има значение само за производителността.
 
От: Подреждане при mysql заявка.

Разбирам. Документацията ми идва сложна някой път, затова разпитвам така..не им разбирам всичката галимация.
Благодаря много, оправих се с трите таблици :)
 
От: Подреждане при mysql заявка.

Най-добре прегледай документацият на mysql и после задавай въпроси ако има нещо неясно.

Иначе това което питаш е просто JOIN дали ще са 2 или 10 таблици няма значение в структурата на заявката има значение само за производителността.

You must spread some Reputation around before giving it to AMitrev again.

Колегата е прав може и 10 и повече да мушнеш, просто ще се товари mysql сървъра, и то пак си зависи и колко са големи таблиците и още много други фактори.
 

Горе