我在我的SQL项目中有4个表,现在我想使用2不同查询的同一行1表。我成功地得到了我想要的结果一次,但我想不出如何在同一行的同一列中获得另一个结果。
这是我现在的查询:
SELECT currencies.currency, swaps.you_send, swaps.you_send, currencies.currency
FROM currencies, swaps
WHERE swaps.currency_to = currencies.id,然后我得到了 这 作为结果
正如您在最后一行中所看到的,有相同的行,对于不同的结果,这应该是不同的结果--这个查询需要获得正确的结果。
SELECT currencies.currency, swaps.you_send, swaps.you_get, currencies.currency
FROM currencies, swaps
WHERE swaps.currency_to = currencies.id,然后我得到了 这 作为结果
但我需要的是结果,第一种是第一种货币,第二种是最后一种货币。
我和联盟试过了,但后来他们互相展示了一下。
如果有人能帮我解决这个问题就太好了。
发布于 2022-06-22 11:17:38
您选择的值是相同的两倍,这就是您获得相同值的原因。
像这样的事情应该有效:
SELECT t.currency_from, t.currency_to
FROM Table1 t
JOIN currencies c1 ON c1.name = t.currency_from
JOIN currencies c2 ON c2.name = t.currency_to我缩小了示例,因为我不知道您的SQL表。
请更新你的问题,使它更清楚。
发布于 2022-06-22 12:22:28
谢谢,我成功地做到了这一点,灵感来自你的片段。
SELECT s.you_send,c1.currency, s.you_get, c2.currency
FROM swaps s
JOIN currencies c1 ON c1.id = s.currency_from
JOIN currencies c2 ON c2.id = s.currency_tohttps://stackoverflow.com/questions/72712934
复制相似问题