【问题标题】:Only keep rows in SQL where the value in columnA is bigger than the value in columnA and the value in columnB is equal to x without a nested question仅保留 SQL 中 columnA 中的值大于 columnA 中的值且列中的值等于 x 的行,而无需嵌套问题
【发布时间】:2021-04-29 11:53:37
【问题描述】:

我的数据库:

+----------+-------------------+--------+--------+------+
| pk_parts | name              | color  | weight | qoh  |
+----------+-------------------+--------+--------+------+
|        1 | central processor | pink   |     10 |    1 |
|        2 | memory            | gray   |     20 |   32 |
|        3 | disk drive        | black  |    685 |    2 |
|        4 | tape drive        | black  |    450 |    4 |
|        5 | tapes             | gray   |      1 |  250 |
|        6 | line printer      | yellow |    578 |    3 |
|        7 | l-p paper         | white  |     15 |   95 |
|        8 | terminals         | blue   |     19 |   15 |
|        9 | terminal paper    | white  |      2 |  350 |
|       10 | byte-soap         | clear  |      0 |  143 |
|       11 | card reader       | gray   |    327 |    0 |
|       12 | card punch        | gray   |    427 |    0 |
|       13 | paper tape reader | black  |    107 |    0 |
|       14 | paper tape punch  | black  |    147 |    0 |
+----------+-------------------+--------+--------+------+

我需要获取权重高于读卡器的行的名称+颜色,我不能使用嵌套问题。

【问题讨论】:

  • 你试过什么?
  • 什么是“嵌套问题”?如果你不能使用这样的东西,你能写一个使用这个的查询吗?
  • 这看起来像是一个作业,你的老师可能想让你使用 JOIN 语法
  • 嵌套问题几乎是一个问题中的问题。我确实是这样解决的:SELECT name, color FROM parts WHERE weight>(SELECT weight FROM parts WHERE name='card reader');但我不允许在问题中使用问题。

标签: mysql sql mariadb


【解决方案1】:
SELECT t1.*
FROM parts t1
JOIN parts t2 ON t1.weight > t2.weight 
WHERE t2.name='card reader';

【讨论】:

    猜你喜欢
    • 2018-03-15
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多