我正在练习一些SQL,我遇到了一个我有两张桌子的情况。它们都有“名称”列,一个表有id,一个没有。我想获取名称行的id,并将该行的ID添加到其他表的同名行。
Table A
ID, Name
1, Ryan
2, Chris
3, Ben
Table B
ID, Name
null, Ryan
null, Chris
null, Ben
基本上,我需要获取表B的名称,找到表A中具有匹配“名称”列的行,获取ID并将其添加到表B中的空ID列
答案 0 :(得分:1)
试试这个:
#include <stdio.h>
#include <stdlib.h>
#define MAX 5
typedef struct charNode {
int arr[MAX];
struct charNode *next;
} charNode;
void addNode();
void printAll();
int main(){
int c,i;
charNode *head=malloc(sizeof(charNode));
charNode *current=head;
while((c=getchar())!=EOF){
while(i<MAX){
current->arr[i++]=c;
}
i=0;
addNode(current);
}
printAll(head);
return 0;
}
void addNode(charNode *current){
struct charNode *link = (struct charNode*) malloc(sizeof(struct charNode));
current->next =link;
link->next = NULL;
current=current->next;
}
void printAll(charNode *head){
int j=0;
while(head->next!=NULL){
while(j<MAX){
printf("\n %d \t",head->arr[j++]);
}
printAll(head->next);
}
return;
}
<强>更新强>
没有注意到您需要更新表B中的col id。
请改为尝试:
SELECT ta.id as id_a, ta.name, tb.id as id_b
FROM TABLE_A as ta
LEFT JOIN TABLE_B as tb
ON ta.name = tb.name;