Mysql 将列值设为行
我不确定我的题目是否正确,我将试着用例子来解释我的意思 我有以下疑问:Mysql 将列值设为行,mysql,sql,doctrine,Mysql,Sql,Doctrine,我不确定我的题目是否正确,我将试着用例子来解释我的意思 我有以下疑问: SELECT d.name_ascii, d.price, t.whois_price FROM domain d JOIN tld t ON d.tld_id = t.id JOIN user_tld ut ON t.id = ut.tld_id WHERE ut.user_id = 1 AND d.name_ascii IN ('domain.com') 返回以下内容: +-----------
SELECT
d.name_ascii,
d.price,
t.whois_price
FROM domain d
JOIN tld t ON d.tld_id = t.id
JOIN user_tld ut ON t.id = ut.tld_id
WHERE ut.user_id = 1
AND d.name_ascii IN ('domain.com')
返回以下内容:
+------------+---------+-------------+
| name_ascii | price | whois_price |
+------------+---------+-------------+
| domain.com | 321.000 | 15.000 |
+------------+---------+-------------+
没关系,但我需要下一个结果:
+------------------+---------+
| item | price |
+------------------+---------+
| domain.com | 321.000 |
| domain.com whois | 15.000 |
+------------------+---------+
也就是说,我需要删除名为whois\u price
的第三列,并将其作为具有相同price
值的另一行插入,并将name\u ascii
值与作为项的“whois”列连接起来
我不知道怎么解决它。有什么建议,提示吗
谢谢 实现这一目标的一种方法是建立工会
SELECT
d.name_ascii as item,
d.price
FROM domain d
WHERE d.name_ascii IN ('domain.com')
UNION ALL
SELECT
concat(d.name_ascii,' whois'),
t.whois_price
FROM domain d
JOIN tld t ON d.tld_id = t.id
JOIN user_tld ut ON t.id = ut.tld_id
WHERE ut.user_id = 1
AND d.name_ascii IN ('domain.com')
第一部分得到价格,第二部分得到谁的价格。
这里有一个SQL问题:实现这一点的一种方法是使用联合
SELECT
d.name_ascii as item,
d.price
FROM domain d
WHERE d.name_ascii IN ('domain.com')
UNION ALL
SELECT
concat(d.name_ascii,' whois'),
t.whois_price
FROM domain d
JOIN tld t ON d.tld_id = t.id
JOIN user_tld ut ON t.id = ut.tld_id
WHERE ut.user_id = 1
AND d.name_ascii IN ('domain.com')
第一部分得到价格,第二部分得到谁的价格。
下面是一个SQL小提琴: