небольшая проблема SQL-запроса с SELECT - PullRequest
3 голосов
/ 21 марта 2011

SQL-запросы по-прежнему являются моим самым слабым местом, поэтому здесь у меня есть еще один SQL-вопрос.

Представьте, что у меня есть две таблицы: аукционы и ставки .Таблица аукционов содержит мои аукционы, а таблица ставок содержит список предложений для каждого аукциона.

Сейчас я выбираю такие значения:

   SELECT
   `auction_title`,
   `auction_seo_title`,
   `auction_description_1`,
   `auction_unixtime_expiration`,
   `auction_startPrice`,
   MAX(`bids`.`bid_price`) as `bid_price`
   FROM
   `auctions`
   LEFT JOIN `bids` ON `auctions`.`auction_id`=`bids`.`bid_belongs_to_auction`
   ORDER BY
   `auction_unixtime_expiration`
   ASC
   LIMIT 5

Запрос работает, но он получился немногопоймать его: он выбирает только те аукционы, которые имеют хотя бы одно соответствующее значение в таблице bids .Это означает, что если у меня новый аукцион, на котором еще нет ставок, запрос не вернет этот аукцион, но я хочу его тоже!

Я считаю, что это очень простая проблема для любого, имеющего хотя бынавыки SQL выше среднего.Я надеюсь, что кто-то вроде этого придет :) Заранее спасибо!

1 Ответ

1 голос
/ 21 марта 2011
SELECT
   `auction_title`,
   `auction_seo_title`,
   `auction_description_1`,
   `auction_unixtime_expiration`,
   `auction_startPrice`,
   MAX(`bids`.`bid_price`) as `bid_price`
FROM
   `auctions`
LEFT JOIN `bids` ON `auctions`.`auction_id`=`bids`.`bid_belongs_to_auction`
GROUP BY `auction_id`
ORDER BY `auction_unixtime_expiration` ASC

Дай попробовать. Предполагая, что это работает, вы можете добавить свой LIMIT в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...