显示多列mysql

时间:2014-12-01 20:56:41

标签: mysql database join subquery

我正在使用mysql编写数据库,我正在尝试使用子查询显示多个列,但它给出了一个错误&#34; ERROR 1241(21000):操作数应包含1列&#34;。< / p>

查询的代码如下所示:

SELECT P_SSN, Name, Blood_Type
FROM PATIENT
WHERE P_SSN IN
 (SELECT P_SSN, ID
  FROM BLOOD_POUCH
  WHERE Blood_Type LIKE 'A');

或在加入

SELECT P_SSN, Name, Blood_Type, ID
FROM PATIENT, BLOOD_POUCH
WHERE PATIENT.P_SSN = BLOOD_POUCH.P_SSN
 AND Blood_type LIKE 'A';

我的表是:

PATIENT - P_SSN,姓名,Blood_Type,..... // P_SSN PK

BLOOD_POUCH - ID,Blood_Type,....,P_SSN // ID PK,P_SSN FK

关于如何显示ID的任何想法?如果我只留下P_SSN它可以工作,但我也喜欢BLOOD_POUCH表来显示一些信息。

2 个答案:

答案 0 :(得分:0)

这会给你想要的结果:

  SELECT P.P_SSN, P.NAME, P.BLOOD_TYPE, B.ID
FROM PATIENT P JOIN BLOOD_POUCH B
ON P.P_SSN = B.P_SSN
WHERE B.BLOOD_TYPE LIKE '%A%';

答案 1 :(得分:0)

  SELECT A.P_SSN, A.NAME, A.BLOOD_TYPE, B.ID
FROM PATIENT A,BLOOD_POUCH B
WHERE A.P_SSN = B.P_SSN
AND B.BLOOD_TYPE LIKE '%A%';