我刚刚开始使用MySQL而我无法找到答案,因为它不存在?
我想把这两个放在一个表中作为两列
SELECT CONCAT(Name, ' ',Category) as Pet_Name_and_Category
FROM Animal
SELECT CONCAT(firstname, ' ',lastname) as Customer_Name
From PetCustomer
所以我想要的表格看起来像:
Gary, Snail Spongebob Squarepants
Sandy, Squirrel Patrick Star
这些是同一个表中的两个独立列。
答案 0 :(得分:0)
试试这个,
select Name || ' ' || Category from Animal
union
select firstname || ' ' || lastname from PetCustomer;
如果您希望将这些列作为单独的列,则可以使用此
select Name || ' ' || Category as pet, firstname || ' ' || lastname as owner
from Animal, PetCustomer
where <join_condition_depending_on_table_structure>;
答案 1 :(得分:0)
您需要使用INNER JOIN
,例如:
SELECT
CONCAT(Name, ' ',Category) as Pet_Name_and_Category,
CONCAT(firstname, ' ',lastname) as Customer_Name
FROM Animal
INNER JOIN PetCustomer ON Animal.Customer_id = PetCustomer.id
连接语法取决于2个表的关联方式。换句话说
你怎么知道'Spongebob Squarepants'拥有'加里,蜗牛'?
如果它们不相关且您只想将它们显示在彼此旁边,请使用2个单独的查询。 (PHP中的示例)
$animals = $db->query("SELECT CONCAT(Name, ' ',Category) as Pet_Name_and_Category FROM Animal");
$customers = $db->query("SELECT CONCAT(firstname, ' ',lastname) as Customer_Name From PetCustomer");
while (list($animal) = $animals->fetch_row() || list($customer) = $customers->fetch_row()) {
echo $animal, "\t", $customer, "\n";
}
答案 2 :(得分:0)
也许尝试子查询:
SELECT
(SELECT CONCAT(Name, ' ',Category)
FROM Animal
WHERE <column> = <search_argument>) as Pet_Name_and_Category ,
(SELECT CONCAT(firstname, ' ',lastname)
FROM PetCustomer
WHERE <column> = <search_argument>) AS Customer_Name
FROM <first table>