我在我的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
然后我得到这个结果
但是我需要的是第一个结果在货币的第一行第二个结果在最后一行
我尝试过UNION,但是它们会在它们之间显示。
如果有人能帮我解决这个问题,我将不胜感激。
你选择了两次相同的值,这就是为什么你得到相同的值
应该这样做:
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表。
请更新你的问题使它更清楚
感谢我在你的代码片段的启发下做到了这一点。
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_to