我有以下2个表 tableA的(ID,姓名,程序,日期) tableB的B(ID,助剂,名,姓,extracard) 与tableA.id = tableB.aid (1到n的关系)的MySQL UNION与WHERE
Sample data for tableA:
| ID | NAME | SURNAME | PROGRAM | DATE | EXPIRES |
----------------------------------------------------------
| 1 | TOM | JONES | 1,2,3 | 12/8/2012 | 12/8/2013 |
| 2 | JAMIE | OLIVER | 4,5,6 | 15/8/2012 | 15/8/2013 |
Sample data for tableB:
| ID | AID | NAME | SURNAME | CARD |
-------------------------------------
| 1 | 1 | ANNE | JONES | 1 |
| 2 | 1 | JACK | BOWER | 0 |
| 3 | 2 | KATE | PERRY | 1 |
| 4 | 2 | JOHN | DOE | 0 |
| 5 | 2 | HARRY | POTTER | 0 |
在结果中,tableB的每个成员应该具有从表A和只显示名字,姓氏的所有值(程序,日期,过期等)从tableB的在同一列(合并??)。另外,我需要子句之间使用的(%ID1和ID2%)之间a.id,也是一个WHERE语句中选择其中tableB.card = 1
| a.ID | NAME | SURNAME | PROGRAM | DATE | EXPIRES |
------------------------------------------------------------
| 1 | TOM | JONES | 1,2,3 | 12/8/2012 | 12/8/2013 |
| 1 | ANNE | JONES | 1,2,3 | 12/8/2012 | 12/8/2013 |
| 2 | JAMIE | OLIVER | 4,5,6 | 15/8/2012 | 15/8/2013 |
| 2 | KATE | PERRY | 4,5,6 | 15/8/2012 | 15/8/2013 |
谢谢,但这是一个简单的连接,返回名称,姓在不同的列,我需要他们在同一列。 – bikey77 2012-07-10 08:15:55
编辑答案。这应该是你在找什么。 – sel 2012-07-10 08:29:01
请注意,程序,日期和截止日期都显示在所有结果中,但它们只能在tableA中找到。我认为我们需要在那里的联盟,但我不太确定。 – bikey77 2012-07-10 08:39:43