Я хочу изменить значение в SQLite. К сожалению, я новичок. Чтобы получить это значение, у меня есть 3 идентификатора (COMPANY.CompanyID, EMPLOYEE.EmployeeID, TELNUMBER.CountryID). Я знаю, что у каждого сотрудника есть только один номер для каждой страны. Я не знаю, как сделать это ОБНОВЛЕНИЕ-заявление. Я много пробовал, но все еще не работал. Я пробовал что-то подобное, но я ошибся (здесь он изменил три строки вместо одной):
--SELECT * FROM TELNUMBER
UPDATE TELNUMBER
SET Value = '123456789'
WHERE EXISTS
(
SELECT EMPLOYEE.CompanyID
FROM EMPLOYEE
WHERE EMPLOYEE.EmployeeID = TELNUMBER.EmplyeeID
AND(
SELECT COMPANY.CompanyID
FROM COMPANY
WHERE COMPANY.CompanyID = EMPLOYEE.CompanyID))
AND TELNUMBER.CountryID = '3' -- here more filter ??
Я хочу изменить:
- TELNUMBER.Value = 123456789
У меня есть только эти значения:
- COMPANY.CompanyID = '102'
- EMPLOYEE.EmployeeID = '1003'
- TELNUMBER.CountryID = '3'
SELECT * FROM TELNUMBER
LEFT JOIN EMPLOYEE ON EMPLOYEE.EmployeeID = TELNUMBER.EmplyeeID
LEFT JOIN COMPANY ON COMPANY.CompanyID = EMPLOYEE.CompanyID
WHERE COMPANY.CompanyID = '102' AND EMPLOYEE.EmployeeID = '1003' AND TELNUMBER.CountryID = '3'
Надеюсь, кто-нибудь может мне помочь.
CompanyID Company
101 XXY
102 AAAA
EmployeeID CompanyID CompanyName
1001 101 XXY
1005 101 XXY
1006 101 XXY
1007 101 XXY
1008 102 AAAA
1009 102 AAAA
1010 101 XXY
1004 101 XXY
1002 102 AAAA
1003 102 AAAA
NumberID EmplyeeID Value CountryID
5001 1001 1111111 1
5002 1002 2222222 2
5003 1001 3333333 3
5004 1001 4444444 5
5005 1003 5555555 4
5006 1002 6666666 1
5007 1001 7777777 6
5008 1003 8888888 2
5009 1009 99999 3
5010 1003 1212121 1
5011 1005 1201235 2
5012 1007 988966 1
5013 1003 8888888 3