SQL使用不同的“连接”;其中;子句,而不是查询的其余部分?
所以我在这个拍卖网站上工作。我需要返回的是特定用户的所有出价,以及关于每个出价的一些额外信息 我想要的一条信息是每件商品的最低出价。 这是出价表。”“参考”的投标书是指该投标书所针对的项目。所以我想得到“where bid_for=x”引用的“min(bid_amount)”。但正如您在最后一行中看到的,我已经有了WHERE子句,它通过用户id引用它 简而言之,与查询的其余部分相比,是否可以选择由不同的“where”子句引用的一条(或多条)信息?(如果有道理的话)SQL使用不同的“连接”;其中;子句,而不是查询的其余部分?,sql,Sql,所以我在这个拍卖网站上工作。我需要返回的是特定用户的所有出价,以及关于每个出价的一些额外信息 我想要的一条信息是每件商品的最低出价。 这是出价表。”“参考”的投标书是指该投标书所针对的项目。所以我想得到“where bid_for=x”引用的“min(bid_amount)”。但正如您在最后一行中看到的,我已经有了WHERE子句,它通过用户id引用它 简而言之,与查询的其余部分相比,是否可以选择由不同的“where”子句引用的一条(或多条)信息?(如果有道理的话) 可以使用内部select语句执
可以使用内部select语句执行此操作:
+--------+--------+---------+------------+-------------+---------------+-------------+
| bid_id | bid_by | bid_for | bid_amount | pickup_date | delivery_date | valid_until |
+--------+--------+---------+------------+-------------+---------------+-------------+
| 1 | 24 | 2 | 19.99 | 2013-06-01 | 2013-06-01 | 2013-06-01 |
| 2 | 27 | 2 | 25.00 | 2013-06-01 | 2013-06-01 | 2013-06-01 |
+--------+--------+---------+------------+-------------+---------------+-------------+
可以使用内部select语句执行此操作:
+--------+--------+---------+------------+-------------+---------------+-------------+
| bid_id | bid_by | bid_for | bid_amount | pickup_date | delivery_date | valid_until |
+--------+--------+---------+------------+-------------+---------------+-------------+
| 1 | 24 | 2 | 19.99 | 2013-06-01 | 2013-06-01 | 2013-06-01 |
| 2 | 27 | 2 | 25.00 | 2013-06-01 | 2013-06-01 | 2013-06-01 |
+--------+--------+---------+------------+-------------+---------------+-------------+
好的,我自己想出了解决办法。我给
bids
表添加了别名,并将其加入到无别名的bids
表中。像这样:
SELECT `bid_amount`,`valid_until`, (SELECT min('bid_amount') FROM 'bids') as `lowest_bid`
`cf1`.`country_name` AS `country_from`, `rq`.`city_from`,
`cf2`.`country_name` AS `country_to`, `rq`.`city_to`,
`sub_cat`.`sub_cat_name`,
`cat`.`cat_name`
FROM `bids`
JOIN `request_quote` `rq` ON `bids`.`bid_for` = `rq`.`quoteid`
JOIN `countries` `cf1` ON `rq`.`country_from` = `cf1`.`country_id`
JOIN `countries` `cf2` ON `rq`.`country_to` = `cf2`.`country_id`
LEFT JOIN `cat` ON `rq`.`cat` = `cat`.`cat_id`
LEFT JOIN `sub_cat` ON `rq`.`sub_cat` = `sub_cat`.`sub_cat_id`
WHERE `bids`.`bid_by` = $bidderId GROUP BY `bids`.`bid_amount`
甚至不知道你可以把同一张桌子连到同一张桌子上。但现在你可以开始了,生活和学习:)好吧,我自己想出了解决办法。我给
bids
表添加了别名,并将其加入到无别名的bids
表中。像这样:
SELECT `bid_amount`,`valid_until`, (SELECT min('bid_amount') FROM 'bids') as `lowest_bid`
`cf1`.`country_name` AS `country_from`, `rq`.`city_from`,
`cf2`.`country_name` AS `country_to`, `rq`.`city_to`,
`sub_cat`.`sub_cat_name`,
`cat`.`cat_name`
FROM `bids`
JOIN `request_quote` `rq` ON `bids`.`bid_for` = `rq`.`quoteid`
JOIN `countries` `cf1` ON `rq`.`country_from` = `cf1`.`country_id`
JOIN `countries` `cf2` ON `rq`.`country_to` = `cf2`.`country_id`
LEFT JOIN `cat` ON `rq`.`cat` = `cat`.`cat_id`
LEFT JOIN `sub_cat` ON `rq`.`sub_cat` = `sub_cat`.`sub_cat_id`
WHERE `bids`.`bid_by` = $bidderId GROUP BY `bids`.`bid_amount`
甚至不知道你可以把同一张桌子连到同一张桌子上。但现在你可以开始了,生活和学习:)使用和操作?i、 e.
其中blah=blah和blah=blah
@adaam抱歉,我可能表达得不够好。这个最小值只需要被bid_引用(比如从所有用户而不仅仅是我那里获得这个项目的最低出价)除了SQL(PHP,.NET?)之外,你在开发什么?你能提供一些示例数据和期望的结果吗?如果确实需要不同的where条件,您可能需要使用相关子查询。。如果可能的话,我想单独用SQL来实现这一点。因为我怀疑,否则我需要为每个出价运行一个额外的查询?或者运行多个查询并不像我认为的那样是件坏事?使用和运算符?i、 e.其中blah=blah和blah=blah
@adaam抱歉,我可能表达得不够好。这个最小值只需要被bid_引用(比如从所有用户而不仅仅是我那里获得这个项目的最低出价)除了SQL(PHP,.NET?)之外,你在开发什么?你能提供一些示例数据和期望的结果吗?如果确实需要不同的where条件,您可能需要使用相关子查询。。如果可能的话,我想单独用SQL来实现这一点。因为我怀疑,否则我需要为每个出价运行一个额外的查询?或者运行多个查询并不像我认为的那样是一件坏事?酷,这也行。我想我会接受你的回答,因为接受我自己的答案看起来不太好。但是对于任何一个看到这一点的人来说,要知道这两个答案都能起作用!所以可能只是语法上的偏好…:)酷,这也行。我想我会接受你的回答,因为接受我自己的答案看起来不太好。但是对于任何一个看到这一点的人来说,要知道这两个答案都能起作用!所以可能只是语法上的偏好…:)